You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
will not be accpeted by the assert assertThat(xml, hasXPath("/books/book/isbn", is(equalTo("B-ISBN"))));
Expected: an XML document with XPath /books/book/isbn is "B-ISBN"
but: mismatches were: [an XML document with XPath /books/book/isbn is "B-ISBN" was "A-ISBN"
But this should match because the book with B-ISBN exists.
A workaround would be to leave out the valueMatcher and put the value into the XPath assertThat(actualDocument, hasXPath("/books/book/isbn[text()='B-ISBN']"));
which will correctly match the existence but at costs of a poorly explaining error message. This makes it harder identify whether your test is broken or your system-under-test.
The text was updated successfully, but these errors were encountered:
fabian-froehlich
changed the title
Make hasXPath apply valueMatcher against multiple elements
Matchers.hasXPath should handle valueMatcher against multiple elements
Jan 4, 2021
It seems convinient to have a XPath-Matcher that is not limited to only look into the first matched element for the XPath
Example-XML:
will not be accpeted by the assert
assertThat(xml, hasXPath("/books/book/isbn", is(equalTo("B-ISBN"))));
But this should match because the book with
B-ISBN
exists.A workaround would be to leave out the
valueMatcher
and put the value into the XPathassertThat(actualDocument, hasXPath("/books/book/isbn[text()='B-ISBN']"));
which will correctly match the existence but at costs of a poorly explaining error message. This makes it harder identify whether your test is broken or your system-under-test.
The text was updated successfully, but these errors were encountered: