With XMLUnit 2 how do you compare two documents without taking the element order into account?
I got this question for XMLUnit 1, but apparently the new API in v2 doesn't have the mentioned method anymore.
This is my current code:
Diff diff = DiffBuilder.compare(expected) .withTest(actual) .ignoreComments() .ignoreWhitespace() .checkForSimilar() .build(); assertFalse(diff.hasDifferences());
Edit to Stefan Bodewigs comment:
These are the two strings i compare with above snippet:
String expected = "<root><foo>FOO</foo><bar>BAR</bar></root>"; String actual = "<root><bar>BAR</bar><foo>FOO</foo></root>";
The reported diffs
Expected element tag name 'foo' but was 'bar' - comparing <foo...> at /root[1]/foo[1] to <bar...> at /root[1]/bar[1] (DIFFERENT) Expected text value 'FOO' but was 'BAR' - comparing <foo ...>FOO</foo> at /root[1]/foo[1]/text()[1] to <bar ...>BAR</bar> at /root[1]/bar[1]/text()[1] (DIFFERENT) Expected element tag name 'bar' but was 'foo' - comparing <bar...> at /root[1]/bar[1] to <foo...> at /root[1]/foo[1] (DIFFERENT) Expected text value 'BAR' but was 'FOO' - comparing <bar ...>BAR</bar> at /root[1]/bar[1]/text()[1] to <foo ...>FOO</foo> at /root[1]/foo[1]/text()[1] (DIFFERENT)