如何验证对具有不同参数的方法的多次调用,还验证没有给出其他参数?
我知道我可以测试多个这样的参数:
@Spy
SomeClass someClass
@Test
public void test() {
someClass.triggerSomething();
verify(someClass, times(1)).someMethod(1, 1);
verify(someClass, times(1)).someMethod(2, 2);
verify(someClass, times(1)).someMethod(3, 3);
verify(someClass, times(1)).someMethod(4, 4);
verify(someClass, times(1)).someMethod(5, 5);
}
如何验证我还没有使用任何其他参数组合来调用它?
答案 0 :(得分:6)
使用verifyNoMoreInteractions(someClass)
。
检查任何给定的模拟是否有任何未经验证的交互。
验证模拟后,您可以使用此方法 - 以确保您的模拟没有调用任何其他内容。