Spring WebFlux,单元测试Mono和Flux
对反应式编程感兴趣,我玩了《构建反应式RESTful Web服务》指南。并希望转移前途并添加一些单元测试。
我尝试RouterFunction
使用普通的Junit /
Mockito测试来测试我的处理程序()。但是,由于它是反应性的,因此处理程序将返回Mono<ServerResponse>
。所以我不得不用block()
它来测试ServerResponse
状态,但是无法抽出他的身体来测试它。在网络上搜索解决方案时,似乎所有示例都使用WebTestClient
。
鉴于所有示例都WebTestClient
用于测试反应性REST服务,并且(单元)测试a的主体并不容易ServerResponse
。对a进行单元测试是一种好习惯RouterFunction
还是始终对它进行更广泛的测试更好WebTestClient
?
非常感谢。
回答:
似乎最佳做法是使用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
以上是 Spring WebFlux,单元测试Mono和Flux 的全部内容, 来源链接: utcz.com/qa/434737.html