使用Spring WebFlux编写返回Mono/Flux的单元测试方法

4
我在我的项目中使用Spring Webflux。我的控制器类调用了服务类的方法,这些方法返回Mono或Flux。
我正在尝试为我的服务类编写单元测试。我不确定如何为返回Mono/Flux的方法编写单元测试。我查阅了大部分文章,建议我使用WebclientTest。但是问题是,我在这里测试我的服务类。当我通过模拟服务类方法测试Web层(控制器类)时,我已经使用了WebclientTest。
现在,我想为我的服务类方法编写单元测试(通过模拟数据库类)。有没有什么好的方法来实现这一点?我应该从测试中调用服务类方法并调用block(),还是有更好的方法?
1个回答

2
你可以使用Project Reactor提供的StepVerifier进行测试
虽然对于简单的情况(例如只有一个Mono的情况),使用block调用也可以。
当你...
- 有一个Flux并且想要断言多个项/事件通过管道流动时 - 处理时间 - 测试Reactor上下文
时,StepVerifier可能会派上用场。

谢谢回复。我想知道Spring是否在Project Reactor的基础上提供了任何抽象层。 - pvpkiran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接