【发布时间】:2015-05-04 04:49:07
【问题描述】:
如何验证一个模拟对象根本没有被调用?我正在尝试使用 Mockito 测试接口方法的空实现。
【问题讨论】:
-
到目前为止你有没有尝试过?
-
是的,但我知道的唯一方法(使用带有验证的 mockito)是基于每个方法的 - 不是所有方法声明的毯子
如何验证一个模拟对象根本没有被调用?我正在尝试使用 Mockito 测试接口方法的空实现。
【问题讨论】:
我使用org.mockito.Mockito.verifyNoMoreInteractions。
事实上,就我个人而言,我总是在我的所有 Mockito 测试中包含这一部分:
@After
public void after() {
verifyNoMoreInteractions(<your mock1>, <your mock2>...);
}
因此,它可以作为一个方便的包罗万象的工具,以确保测试没有剩余的、意外的调用,而我还没有专门验证过。
我发现这比使用特定的 verifyZeroInteractions 弄乱测试更有用。
【讨论】:
请参阅 Mockito API 第 7 条。确保交互从未在 mock 上发生
【讨论】: