unit-testing - 返回Mono/Flux的Spring webflux单元测试方法

标签 unit-testing spring-webflux project-reactor

我在我的项目中使用 spring webflux。我的 Controller 类调用返回 Mono 或 Flux 的服务类方法。

我正在尝试为我的服务类编写单元测试。我不确定如何为返回 Mono/Flux 的方法编写单元测试。我检查的大多数文章都建议我使用 WebclientTest。但重点是,我在这里测试我的服务等级。当我通过模拟服务类方法测试我的 web 层( Controller 类)时,我使用了 WebclientTest。

现在我想为我的服务类方法编写单元测试(通过模拟数据库类)

关于如何实现这一点有什么想法吗?我应该使用从测试中调用服务类方法并调用 block() 还是有更好的方法?

最佳答案

您可以使用 Project Reactor 为 testing 提供的 StepVerifier目的。

不过,对于简单的场景(例如,当您只有 Mono)时,调用 block 就可以了。

StepVerifier 可能会在您...时派上用场

  • 有一个 Flux 并且想要断言流经管道的多个项目/事件
  • 处理好时间
  • 测试 Reactor 上下文

关于unit-testing - 返回Mono/Flux的Spring webflux单元测试方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59021079/

相关文章:

c# - 使用 Mock IDbSet 对 Entity Framework 进行单元测试

javascript - 如何使用 sinon 验证构造函数是否被调用

spring-webflux - project reactor - 如何将 Mono 和 Flux 结合起来?

project-reactor - 是否可以并行启动 Mono 并汇总结果

java - 如何使用 Mono.dematerialize()?

spring-boot - 使用 onErrorResume 处理使用 Reactor Kafka 发布到 Kafka 的有问题的有效负载

java - 使用 Mockito,如何在 void 方法上拦截回调对象?

ExtJS 和 Spring 3.0 MVC 的 Javascript 测试框架

spring-boot - WebClient 第一次请求缓慢的解决方法

java - 如何在 spring-mvc 中向 webflux 端点添加日志记录?