@WebServiceClientTest
添加测试客户端时可以使用的切片注释SOAP
。
@RestClientTest
其实现与but for非常相似WebServiceTemplateBuilder
。公关还没有准备好,这只是一个关于如何实现的概念。
这是一个使用的小例子:
@WebServiceClientTest(ExampleWebServiceClient.class)
class WebServiceClientIntegrationTests {
@Autowired
private MockWebServiceServers servers;
@Autowired
private ExampleWebServiceClient client;
@Test
void mockServerCall() {
this.servers.expect(RequestMatchers.payload(new StringSource("<request/>"))).andRespond(
ResponseCreators.withPayload(new StringSource("<response><status>200</status></response>")));
assertThat(this.client.test()).extracting(Response::getStatus).isEqualTo(200);
}
@Test
void mockServerCall1() {
this.servers.expect(RequestMatchers.connectionTo("https://example1"))
.andRespond(ResponseCreators.withPayload(new StringSource("<response/>")));
assertThatExceptionOfType(SourceAssertionError.class).isThrownBy(this.client::test)
.withMessageContaining("Unexpected connection expected");
}
}
如果您对此功能感兴趣,我将添加更多测试和文档。
另外,请注意https://github.com/spring-projects/spring-boot/compare/master...nosan:webservice-client-test?expand=1#diff-a0ae2b770ccb1b5cc0b45d9966df843aR66reset()
中的功能会很好MockWebServiceServer
班级。可以添加吗?
让我知道您的想法并提前致谢。
PS正在进行中