Mockito 验证跳过多个呼叫



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

我想答案可能是:

verify( myMock, times( 2 ) ).myMethod( any() );
verify( myMock ).myMethod( paramIWant ); 

。但它在第一行失败:

但是是5次。意外调用:

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

为此

使用参数捕获器。 您可以在验证时传入捕获器,然后取出作为参数传递给此方法的所有值,并选中所需的值。

ArgumentCaptor<SomeClass> myCaptor = ArgumentCaptor.forClass(SomeClass.class);
verify(myMock,times(5)).myMethod(myCaptor.capture());
List<SomeClass> paramsPassed = myCaptor.getAllValues();
assertEquals(paramIWant, paramsPassed.get(2));

相关内容

  • 没有找到相关文章

最新更新