生成された XML ファイルを XMLunit を使用した別の例と比較していますが、ChildNodes の順序とその属性に問題があります。(LinuxとMacの世代は異なります)
これは私が試したことです:
@Test
public void testComparingXML() throws Exception {
XMLUnit.setIgnoreWhitespace(true);
String expectedXml = IOUtils.toString(ConnectorStrategyStudioXmlTest.class.getClassLoader().getResourceAsStream(EXPECTED_XML));
String actualXml = IOUtils.toString(ConnectorStrategyStudioXmlTest.class.getClassLoader().getResourceAsStream(ACTUAL_XML));
Diff diff = new Diff(expectedXml, actualXml);
diff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier());
DetailedDiff detailedDiff = new DetailedDiff(diff);
assertTrue(detailedDiff.toString(), detailedDiff.similar());
}
RecursiveElementNameAndTextQualifier クラスを使用すると問題が解決する可能性があることを読みましたが、それでも機能しません。
XML 比較の失敗の例を示す画像を次に示します: (全画面表示の場合は新しいタブで開きます) c:
ご覧のとおり、両方の子ノードが反転しています
事前に TY. ファン