1

xmlunit を使用して 2 つのテキスト ファイルを比較しています。コントロール xml は次のとおりです。

<books>
    <book>
       <name>Angels &amp; Demons</name>
       <isbn>9971-5-0210-0</isbn>
       <author>Dan Brown</author>
       <category></category>
    </book>
</books>

これを、要素と要素が入れ替わった別の xml と比較しています。

<books>
    <book>
        <isbn>9971-5-0210-0</isbn>
        <name>Angels &amp; Demons</name>
        <author>Dan Brown</author>
        <category></category>
    </book>
</books>

Diff オブジェクトは、次の違いを報告します。

Expected sequence of child nodes '1' but was '3' - comparing <name...> at /books[1]/book[1]/name[1] to <name...> at /books[1]/book[1]/name[1]

<name>子ノードが '1' の場合、<isbn>子ノードは '2' ではないでしょうか?

4

2 に答える 2

1

xmlUnit 2.X バージョンの場合:

xmlUnit 2.xx バージョンでは、XMLUnit.setIgnoreWhitespace(true) は適用されなくなりました。これで、DiffBuilder.ignoreWhitespace() を追加することで、「空白を無視する」を DiffBuilder に直接追加できます。

Diff diffXml =DiffBuilder.compare(expectedXml).withTest(actualXml).normalizeWhitespace().checkForSimilar().build();

XMLが類似していると主張するには、たとえば次のことができます。行う:

   MatcherAssert.assertThat(diffXml.toString(), is("[identical]"));

1.x から 2.x への変更に関する詳細については、 https ://github.com/xmlunit/user-guide/wiki/Migrating-from-XMLUnit-1.x-to-2.x を参照してください。

于 2016-02-19T07:48:20.950 に答える