验证对模拟对象的方法调用
要检查是否在模拟对象上调用了方法,可以使用 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