【发布时间】:2015-06-08 12:53:57
【问题描述】:
Mockito 的 verify 可以断言与模拟对象上发生的方法的一定数量的交互。
// Given
SomeService someService = mock(SomeService.class);
// When
someService.prepare();
someService.prepare();
// Then
verify(someService, times(2)).prepare(); // test passes
有时在单元测试中知道模拟对象上的方法调用总数没有改变是很有用的。
这在添加新方法调用时提供可见性(即失败的测试)。
Mockito 是否提供此功能?
在某些情况下我想打电话:
verify(someService, times(2));
..没有得到UnfinishedVerificationException:
org.mockito.exceptions.misusing.UnfinishedVerificationException:
Missing method call for verify(mock)...
Example of correct verification:
verify(mock).doSomething()
【问题讨论】:
-
这是
verifyNoMoreInteractions的用途吗?编辑:好像是这样。不太一样,但它适用于我的目的。 -
对我来说不清楚你的意思。如果您不关心异常,为什么要使用
verify(someService, times(2))?你想测试什么? -
我想断言没有对模拟对象执行其他方法调用。
verifyNoMoreInteractions有效地给了我这个,只要我验证了我所期望的所有交互。
标签: java unit-testing mockito