Java XMLUnit是否具有忽略空白的断言
我想在一个测试中比较两个xml字符串,但由于空白,测试一直失败Java XMLUnit是否具有忽略空白的断言,java,junit,xmlunit,Java,Junit,Xmlunit,我想在一个测试中比较两个xml字符串,但由于空白,测试一直失败 @Test public void testForEquality() throws Exception { String myControlXML = "<msg><uuid>0x00435A8C</uuid></msg>"; String myTestXML = "<msg><uuid>0x00435A8C</uuid> </
@Test
public void testForEquality() throws Exception {
String myControlXML = "<msg><uuid>0x00435A8C</uuid></msg>";
String myTestXML = "<msg><uuid>0x00435A8C</uuid> </msg>";
assertXMLEqual(myControlXML, myTestXML);
Diff diff = new Diff(myControlXML, myTestXML);
assertTrue(diff.similar());
}
@测试
public void testForEquality()引发异常{
字符串myControlXML=“0x00435A8C”;
字符串myTestXML=“0x00435A8C”;
assertXMLEqual(myControlXML、myTestXML);
Diff Diff=新的Diff(myControlXML、myTestXML);
assertTrue(diff.similor());
}
是的,XMLUnit可以忽略空白。有关详细信息,请参阅。您可以通过设置来启用它:
XMLUnit.setIgnoreWhitespace(true)
API已随时间而更改
现在,对于单元测试,您可以使用hamcrest匹配器忽略空白,如下所示:
import static org.hamcrest.matcherasert.assertThat;
导入静态org.xmlunit.matchers.CompareMatcher.isidentialTo;
...
assertThat(实际值,isIdenticalTo(预期值).ignoreWhitespace());
或者,直接使用builder API:
import org.xmlunit.builder.DiffBuilder;
...
布尔值areDifferent=DiffBuilder.compare(左)。withTest(右)
.ignoreWhitespace().build().hasDifferences();
我想我应该再找5分钟XMLUnit.setIgnoreWhitespace(true);