Mockito验证跳过多个电话?

时间:2017-02-14 19:39:50

标签: java mocking mockito verify

我想检查传递给方法的参数......但是必须在第3次调用此方法时进行检查。

我认为答案可能是:

getAdc

...但它在第一行失败了:

  

但是是5次。不受欢迎的调用:

...因为在我感兴趣的人之后确实有2个电话。

1 个答案:

答案 0 :(得分:1)

为此使用参数捕获器。您可以在验证时传递捕获者,然后将作为参数传递的所有值输出到此方法并检查您想要的任何值。

ArgumentCaptor<SomeClass> myCaptor = ArgumentCaptor.forClass(SomeClass.class);
verify(myMock,times(5)).myMethod(myCaptor.capture());

List<SomeClass> paramsPassed = myCaptor.getAllValues();
assertEquals(paramIWant, paramsPassed.get(2));