簡體   English   中英

Mockito可以驗證模擬對象上方法調用的總數嗎?

[英]Can Mockito verify total number of method calls on a mocked Object?

Mockito的verify可以斷言與模擬對象上的方法發生一定數量的交互。

// Given
SomeService someService = mock(SomeService.class);

// When
someService.prepare();
someService.prepare();

// Then
verify(someService, times(2)).prepare(); // test passes

有時在單元測試中知道模擬對象上的方法調用總數沒有改變是有用的。

這在添加新方法調用時提供可見性(即失敗的測試)。

Mockito提供此功能嗎?

在某些情況下,我想打電話:

verify(someService, times(2));

..沒有得到UnfinishedVerificationException

org.mockito.exceptions.misusing.UnfinishedVerificationException: 
Missing method call for verify(mock)...

Example of correct verification:
  verify(mock).doSomething()

那個時候沒有API。 您可以嘗試使用MockingDetails.getInvocations編寫自己的驗證程序代碼

Mockito.mockingDetails(mock).getInvocations()

暫無
暫無

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

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