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

回到顶部