spring - 不能模拟 StreamBridge Final

我无法在我的单元测试中模拟 StreamBridge。

@MockBean
private StreamBridge bridge;

我得到一个 IllegalStateException 由于:

引起:org.mockito.exceptions.base.MockitoException: 无法模拟/ spy 类 org.springframework.cloud.stream.function.StreamBridge Mockito 不能模拟/监视因为:

  • 最后一个类 在 org.springframework.boot.test.mock.mockito.MockDefinition.createMock(MockDefinition.java:154)

最佳答案

StreamBridge 是一个最终类,使用 Mockito2 我们可以模拟最终类,但默认情况下此功能是禁用的,需要通过以下步骤启用:

  1. 在 src/test/resources/文件夹中创建目录“mockito-extensions”。

  2. 在“src/test/resources/mockito-extensions/”目录中创建一个文件“org.mockito.plugins.MockMaker”。

  3. 在 org.mockito.plugins.MockMaker 文件中写入内容 'mock-maker-inline'。

  4. 在测试类级别使用“@ExtendWith(MockitoExtension.class)”

然后 StreamBridge 将被成功模拟。

https://stackoverflow.com/questions/67276613/

相关文章:

svg - 如何配置在 sveltekit 中使用 svg 文件?

flutter - 为什么 SliverFillRemaining 膨胀得太多了?

firebase - react native 应用程序中 firebase 日志的 iOS 14.

java - 在流中按条件抛出异常

matlab - 如何使用 matlab 正确绘制矢量线性方程?

r - 将字符串拆分为单词并分配给新列

http - 使用 Clack/ningle 在 Web 服务器中嵌入图像

python - 将带有项目列表的字典转换为 Pandas 数据框

powerbi - Multi-Tenancy 场景下如何访问power BI Service

clojure - 使用 clojure,有没有更好的方法从序列中删除项目,这是 map 中的值?