驗證對模擬物件的方法呼叫

要檢查是否在模擬物件上呼叫了方法,可以使用 Mockito.verify 方法:

Mockito.verify(someMock).bla();

在這個例子中,我們斷言 bla 是在 someMock 模擬物件上呼叫的。

你還可以檢查是否使用某些引數呼叫了方法:

Mockito.verify(someMock).bla("param 1");

如果要檢查方法是否未被呼叫,可以將其他 VerificationMode 引數傳遞給 verify

Mockito.verify(someMock, Mockito.times(0)).bla();

如果你想檢查這個方法被多次呼叫(在這種情況下我們檢查方法 bla 被呼叫了 23 次),這也有效:

Mockito.verify(someMock, Mockito.times(23)).bla();

這些是 VerificationMode 引數的更多示例,可以更多地控制應該呼叫方法的次數:

Mockito.verify(someMock, Mockito.never()).bla(); // same as Mockito.times(0)

Mockito.verify(someMock, Mockito.atLeast(3)).bla(); // min 3 calls

Mockito.verify(someMock, Mockito.atLeastOnce()).bla(); // same as Mockito.atLeast(1)

Mockito.verify(someMock, Mockito.atMost(3)).bla(); // max 3 calls