9

I am trying to see if I could use XMLUnit to compare the following two different XML. I used the Diff class to compare the following two XML and checking for similar returns false.

XML One
<Required>
   <Question desc="Are you single?">
      <Answers>
        <Answer value="Yes"/>
        <Answer value="No"/>
      </Answers>
   </Question>
</Required>

XML Two
<Required>
   <Question desc="Are you single?">
      <Answers>
        <Answer value="No"/> ''Order is reversed in XML two
        <Answer value="Yes"/>
      </Answers>
   </Question>
</Required>

Here is my JAVA code:

Diff xmlDiff;
try {
    xmlDiff = new Diff(xmlOne, xmlTwo);
    xmlDiff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier());
} catch (Exception e) { }
boolean isEqual = xmlDiff.similar()
4

1 に答える 1

2

xmlDiff.similarでうまくいくはずですが、これが常に機能するとは限らないことを経験しました。私の回避策は、比較の前に要素をソートすることでした。

多くの場合、アプリケーションに組み込み、出力の順序を明確に定義することをお勧めします。これにより、自動テストがはるかに簡単になるためです。

于 2010-10-15T04:41:41.687 に答える