0

XUnitを使用しています。私にとっては 2 つの同一の 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
4

1 に答える 1

0

これは XmlUnit のバグのようです。ドキュメントから:

2 つのドキュメントは、順序に関係なく同じ要素と属性が含まれている場合、「類似」していると見なされます。

それらを Diff に渡す前に、それらを再フォーマットして、特定の正規の順序を自分で適用することを試みることができます。

于 2014-05-11T22:23:34.173 に答える