当前位置: 首页 > 知识库问答 >
问题:

Spring webflux单元测试方法,返回Mono/Flux

糜博远
2023-03-14

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

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

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

共有1个答案

邴和雅
2023-03-14

您可以使用Project Reactor提供的stepverifier进行测试。

但是,对于简单的场景(例如,当您只有mono)时,block调用也会很好。

stepverifier在您...

  • 具有通量并希望断言通过管道流动的多个项/事件
  • 处理时间
  • 测试反应器上下文
 类似资料:
  • 测试方法: 测试用例:

  • 问题内容: 对反应式编程感兴趣,我玩了《构建反应式RESTful Web服务》指南。并希望转移前途并添加一些单元测试。 我尝试使用普通的Junit / Mockito测试来测试我的处理程序()。但是,由于它是反应性的,因此处理程序将返回。所以我不得不用它来测试状态,但是无法抽出他的身体来测试它。在网络上搜索解决方案时,似乎所有示例都使用。 我的问题是: 鉴于所有示例都用于测试反应性REST服务,并

  • 对反应性编程感兴趣,我玩了一点构建反应性RESTful网络服务指南。并希望将其移至原版本并添加一些单元测试。 我试图用普通的Junit/Mockito测试来测试我的处理程序()。但是,因为它是被动的,所以处理程序返回一个

  • Java 8,但这是一个通用的单元测试问题,它(很可能)是与语言无关的。 编写JUnit测试的语法很容易,但是决定要编写什么测试以及如何测试主/生产代码是我发现的最大挑战。在阅读单元测试最佳实践时,我一遍又一遍地听到同样的事情: 测试合同 我相信这个想法是,单元测试不应该是脆弱的,如果方法的实现发生变化,它不应该被破坏。该方法应定义输入的协定 - 假设我有以下方法: 所以在这里,我们有一个方法,我

  • 我试图实现一个单元测试的在与。 我在关注这个链接,它运行良好,但结果为空,当我用浏览器测试我的websocket时,它会发送所需的结果。 让我展示一下我的测试课 } 这是我的< code > WebSocketConfiguration 类 } 这是我从服务器得到的响应 更新: 在下面的答案中添加建议的更改并经过进一步的研究后,我的测试类现在看起来像这样 } 经过这些更改后,我现在可以将堆栈跟踪打

  • 我有一个spring boot应用程序,它有一个endpoint测试配置类和一个单元测试来测试我的http客户端。我正在尝试从应用程序中获取服务器地址和端口。位于我的src/测试中的属性。(所有类都在我的src/测试中。) 这是我的配置类代码: 我对我的中的值进行了注释。属性,然后创建一个方法,我用bean实例化该方法以返回我的服务器地址字符串。 然后,我在HttpClientTest类中使用该字