我正在为我的spring集成流写一个集成测试。我想使用 MockRestServiceServer来记录和匹配传出的请求(使用http:outbound-gateway)到Rest服务器。但是,当我调用mockServer的验证方法时,它不会按照预期进行验证。MockRestServiceServer没有正确验证请求
我写我的测试以下列方式:
RestTemplate restTemplate = new RestTemplate();
MockRestServiceServer mockServer = MockRestServiceServer.createServer(restTemplate);
mockServer.expect(requestTo("adfasfadf.com")).andExpect(method(HttpMethod.GET));
// Call spring integration flow here
mockServer.verify();
当我检查MockRestServiceServer的验证方法,它不叫RequestMatchers的匹配方法,我相信有什么不对的逻辑。我在这里错过了什么吗?
/**
* Verify that all expected requests set up via
* {@link #expect(RequestMatcher)} were indeed performed.
* @throws AssertionError when some expectations were not met
*/
public void verify() {
if (this.expectedRequests.isEmpty() || this.expectedRequests.equals(this.actualRequests)) {
return;
}
throw new AssertionError(getVerifyMessage());
}
我在和MockRestServiceServer之间使用了相同的休息模板。这是因为请求匹配器在请求执行期间执行,这导致整合流程捕获创建的断言错误。 –
kosker