【问题标题】:Spring webflux unit test method which returns Mono/Flux返回 Mono/Flux 的 Spring webflux 单元测试方法
【发布时间】:2020-03-20 02:38:31
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: unit-testing spring-webflux project-reactor


    【解决方案1】:

    您可以将 Project Reactor 提供的StepVerifier 用于testing 目的。

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

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

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

    【讨论】:

    • 感谢您的回复。我想知道 spring 是否在项目反应器之上提供任何抽象..
    猜你喜欢
    • 2019-01-20
    • 2018-12-12
    • 2021-09-30
    • 2019-05-18
    • 2018-12-19
    • 2021-03-09
    • 1970-01-01
    • 2021-05-08
    • 2018-09-21
    相关资源
    最近更新 更多