簡體   English   中英

Mockito 驗證跳過多個調用?

[英]Mockito verify skip a number of calls?

我想檢查傳遞給方法的參數……但必須在第三次調用此方法時進行檢查。

我認為答案可能是:

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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM