驗證對模擬物件的方法呼叫
要檢查是否在模擬物件上呼叫了方法,可以使用 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