Mockito - 验证对象根本没有被调用

Posted

技术标签:

【中文标题】Mockito - 验证对象根本没有被调用【英文标题】:Mockito - verify object not invoked at all 【发布时间】:2015-05-04 04:49:07 【问题描述】:

如何验证一个模拟对象根本没有被调用?我正在尝试使用 Mockito 测试接口方法的空实现。

【问题讨论】:

到目前为止你有没有尝试过? 是的,但我知道的唯一方法(使用带有验证的 mockito)是基于每个方法的 - 不是所有方法声明的毯子 How to verify that a specific method was not called using Mockito?的可能重复 【参考方案1】:

我使用org.mockito.Mockito.verifyNoMoreInteractions

事实上,就我个人而言,我总是在我的所有 Mockito 测试中包含这一部分:

@After
public void after() 
    verifyNoMoreInteractions(<your mock1>, <your mock2>...);

因此,它可以作为一个方便的包罗万象的工具,以确保测试没有剩余的、意外的调用,而我还没有专门验证过。 我发现这比使用特定的 verifyZeroInteractions 弄乱测试更有用。

【讨论】:

【参考方案2】:

请参阅 Mockito API 第 7 条。确保交互从未在 mock 上发生

【讨论】:

Mockito.verifyZeroInteractions(jdbc);非常感谢

以上是关于Mockito - 验证对象根本没有被调用的主要内容,如果未能解决你的问题,请参考以下文章

学习单元测试 Mockito 一篇文章就够了

使用 mockito 验证对象属性值

怎么mockito方法的内部对象

Mockito 简明教程

Mockito 简明教程

Mock以及Mockito的使用