XPath断言将始终传递给CamelTestSupport类

时间:2018-05-01 08:33:21

标签: java xpath assertion

我是Camel测试的新手,无论我如何更改消息,此测试总是通过。如果你能告诉我我做错了什么,我会非常感激。

这是断言:

XPathExpression xpath = new XPathExpression("/project/phases/phase/@id='CFA001'");
xpath.setResultType(Boolean.class);     
_resultEndpoint.allMessages().body().matches(xpath);

我用以下方法测试:

_resultEndpoint.assertIsSatisfied();

我确实尝试了各种其他版本的方法。他们都没有按预期工作。

问题是,如何对(预期的)XML消息的内容(正文)进行XPath测试

干杯

1 个答案:

答案 0 :(得分:0)

好吧......对我来说似乎有些奇怪,但补充道:

.expectedMessageCount(1); 

......断言似乎解决了这个问题。至少假设失败的测试失败了。所以,这里的完整断言应该是这样的:

MockEndpoint作为类成员:

@EndpointInject(uri = "mock:result")
protected MockEndpoint _resultEndpoint;

断言:

_resultEndpoint.expectedMessageCount(1);
XPathExpression xpath = new XPathExpression("/project/phases/phase/@id='CFA001'");
xpath.setResultType(Boolean.class);
_resultEndpoint.allMessages().body().matches(xpath);