Class XpathExpectationsHelper
java.lang.Object
org.springframework.test.util.XpathExpectationsHelper
A helper class for applying assertions via XPath expressions.
- Since:
- 3.2
- Author:
- Rossen Stoyanchev
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidassertBoolean(byte[] content, @Nullable String encoding, boolean expectedValue) Apply the XPath expression and assert the resulting content as a Boolean.voidassertNode(byte[] content, @Nullable String encoding, Matcher<? super Node> matcher) Parse the content, evaluate the XPath expression as aNode, and assert it with the givenMatcher<Node>.voidassertNodeCount(byte[] content, @Nullable String encoding, int expectedCount) Apply the XPath expression and assert the resulting content as an integer.voidassertNodeCount(byte[] content, @Nullable String encoding, Matcher<? super Integer> matcher) Apply the XPath expression and assert the resulting content with the given Hamcrest matcher.voidassertNodeList(byte[] content, @Nullable String encoding, Matcher<? super NodeList> matcher) Parse the content, evaluate the XPath expression as aNodeList, and assert it with the givenMatcher<NodeList>.voidassertNumber(byte[] content, @Nullable String encoding, Double expectedValue) Apply the XPath expression and assert the resulting content as a Double.voidassertNumber(byte[] content, @Nullable String encoding, Matcher<? super Double> matcher) Apply the XPath expression and assert the resulting content with the given Hamcrest matcher.voidassertString(byte[] content, @Nullable String encoding, String expectedValue) Apply the XPath expression and assert the resulting content as a String.voidassertString(byte[] content, @Nullable String encoding, Matcher<? super String> matcher) Apply the XPath expression and assert the resulting content with the given Hamcrest matcher.voiddoesNotExist(byte[] content, @Nullable String encoding) Apply the XPath expression and assert the resulting content does not exist.<T> @Nullable TevaluateXpath(byte[] content, @Nullable String encoding, Class<T> targetClass) Evaluate the XPath and return the resulting value.protected <T> @Nullable TevaluateXpath(Document document, QName evaluationType, Class<T> expectedClass) Apply the XPath expression to given document.voidApply the XPath expression and assert the resulting content exists.protected XPathExpressionReturn the compiled XPath expression.protected DocumentparseXmlByteArray(byte[] xml, @Nullable String encoding) Parse the given XML content to aDocument.
-
Constructor Details
-
XpathExpectationsHelper
public XpathExpectationsHelper(String expression, @Nullable Map<String, String> namespaces, Object... args) throws XPathExpressionExceptionXpathExpectationsHelper constructor.- Parameters:
expression- the XPath expressionnamespaces- the XML namespaces referenced in the XPath expression, ornullargs- arguments to parameterize the XPath expression with using the formatting specifiers defined inString.format(String, Object...)- Throws:
XPathExpressionException- if expression compilation failed
-
-
Method Details
-
getXpathExpression
Return the compiled XPath expression. -
assertNode
-
assertNodeList
-
exists
-
doesNotExist
-
assertNodeCount
-
assertNodeCount
-
assertString
-
assertString
-
assertNumber
-
assertNumber
-
assertBoolean
-
evaluateXpath
public <T> @Nullable T evaluateXpath(byte[] content, @Nullable String encoding, Class<T> targetClass) throws Exception Evaluate the XPath and return the resulting value.- Parameters:
content- the content to evaluate againstencoding- the encoding to use (optionally)targetClass- the target class, one of Number, String, Boolean, org.w3c.Node, or NodeList- Throws:
Exception- if content parsing or expression evaluation fails- Since:
- 5.1
-
parseXmlByteArray
-
evaluateXpath
protected <T> @Nullable T evaluateXpath(Document document, QName evaluationType, Class<T> expectedClass) throws XPathExpressionException Apply the XPath expression to given document.- Throws:
XPathExpressionException- if expression evaluation failed
-