Mockito - 完全验证所有参数

sam*_*ime 1 java unit-testing mockito

如何验证对具有不同参数的方法的多次调用,还验证没有给出其他参数?

我知道我可以测试这样的多个参数:

@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);
}
Run Code Online (Sandbox Code Playgroud)

如何验证我没有使用任何其他参数组合调用它?

And*_*ner 6

使用verifyNoMoreInteractions(someClass).

检查任何给定的模拟是否有任何未经验证的交互.

验证模拟后,您可以使用此方法 - 以确保您的模拟没有调用任何其他内容.