Spring Webflux,测试`ServerResponse`

gervais.b

如何测试接收和返回处理程序方法ServerRequestMono<ServerResponse>

我可以创建一个ServerRequestvia org.springframework.mock.web.reactive.function.server.MockServerRequest.builder()并断言ServerResponse.statusCode()但是我想测试它的主体,ServerResponse但是没有办法提取它。

ServerResponse response = target.search(MockServerRequest.builder()
    .method(HttpMethod.GET)
    .build()
  ).block();

assertThat(response.statusCode()).isEqualTo(HttpStatus.OK);
//assertThat(response.body()).isNotNull();

我不想使用进行更广泛的测试WebTestClient,我想使用单元测试来测试所有可能的响应情况。

谢谢

gervais.b

因此,似乎最好的解决方案是使用WebTestClient但是,可以在没有运行服务器的情况下使用此服务器。

spring-test模块包括WebTestClient,可用于在有或没有运行服务器的情况下测试WebFlux服务器端点

- https://docs.spring.io/spring/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/html/web-reactive.html#web-reactive-tests

诀窍是使用bindTo..()builder方法。就我而言bindToRouterFunction(new MyRouter(new MyHandler()))很好

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章