Using XMLUnit2 to compare two xml files using groovy in soapui, it's comparing two files successfully.Would like to print all differences what it finds, but it just printing only first difference. XMLUnit1 supposes to print all differences, but would like to use XMLUnit2.
If any one have any idea, how to print please help me, It would be appreciated.
Code Using:
diff = DiffBuilder.compare(resxml1)
.withTest( resxml2)
.withNodeFilter(nodeFilter)
.withAttributeFilter(attributeFilter)
.ignoreComments()
.ignoreWhitespace()
.ignoreElementContentWhitespace()
.checkForSimilar()
.withNodeMatcher(new DefaultNodeMatcher(new ByNameAndTextRecSelector(), ElementSelectors.byName))
.build();
print diff
The Diff
object you get as a result of the comparison contains all differences and you can access them with diff.getDifferences()
. The toString
method of Diff
that you invoke when you print
it only prints the first difference.
So if you want to print all differences you'd do something like
for (Difference d : diff.getDifferences()) {
System.err.println(d);
}
For more control over the output take a look at ComparisonFomatter
and Difference
's one-arg toString
method.