JDK 1.7.0 XMLUnit 1.3
このコントロールXML文字列を比較する場合:
String controlXml = "" +
"<client>" +
" <name>Hello World</name>" +
"</client>";
このテストXML文字列を使用すると:
String testXml = "" +
"<client>" +
" <name>Hello World</name>" +
"</client>";
XMLUNITはfalseを返し、trueを返すことを期待していました(違いはありません)。
これが私の使用法です:
XMLUnit.setIgnoreComments(true);
XMLUnit.setIgnoreWhitespace(true);
Diff diff = new Diff(controlXml,testXml);
boolean result = diff.similar(); //result is false
また、コンソールウィンドウで次のエラーが発生します。
[Fatal Error] :1:103: The entity "nbsp" was referenced, but not declared.
ここで何をすべきかわかりません。
私はそれを調べて、Googleを使用してEntityResolverに関するいくつかの情報を入手しましたが、それはすべて非常に混乱しています。
エンティティをプレーンテキストとして扱う必要があります。論理的には、プレーンテキストとして、それらは等しいです。
次のオプションを切り替えてみました。
XMLUnit.setExpandEntityReferences(false); //tried true, false
XMLUnit.setIgnoreDiffBetweenTextAndCDATA(false); //tried true, false
何も機能しませんでした。助けてください、私は完全に迷子になっています。ありがとう!