如何比较两个xml与相同标签中的不同属性值

时间:2013-07-15 17:18:23

标签: java xunit

我使用XUnit。对我来说,这是两个相同的XML,但测试失败了。如何使用Xunit比较它们?或其他什么?

public void testIdentical() throws Exception {
        String myControlXML = "<struct>" +
                "<int a=\"1\"></int>" +
                "<int a=\"2\"></int>" +
                "</struct>";
        String myTestXML = "<struct>" +
                "<int a=\"2\"></int>" +
                "<int a=\"1\"></int>" +
                "</struct>";
        Diff myDiff = new Diff(myControlXML, myTestXML);
        assertTrue("my test" + myDiff, myDiff.similar());
}

java.lang.AssertionError: my test org.custommonkey.xmlunit.Diff
[different] Expected attribute value '1' but was '2' - comparing <int a="1"...> at /struct[1]/int[1]/@a to <int a="2"...> at /struct[1]/int[1]/@a

1 个答案:

答案 0 :(得分:0)

这看起来像是XmlUnit中的一个错误。从他们的文件:

  

如果两个文件包含相同的文件,则认为它们是“相似的”   元素和属性,无论顺序如何。

您可以尝试重新格式化它们以在将它们传递给Diff之前自行应用特定的规范订单。