如何验证具有不同参数的方法的多个调用,还可以验证没有给出其他参数?
我知道我可以测试这样的多个参数:
@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);
}
如何验证我没有使用任何其他参数组合来调用它?
使用verifyNoMoreInteractions(someClass)
。
检查给定的模拟是否具有任何未经验证的交互。
验证模拟后,您可以使用此方法 - 以确保您的模拟中没有其他任何内容。