Mockito - 验证方法是否重新启动次数?

2022-09-01 16:22:34

如果我们有这个代码:

@Test
public void test1(){
  Interface1 i1 = mock(Interface1.class)
  method1(); // This method calls i1.mockedmethod()
  verify(i1, times(1)).mockedmethod();
  method1();
  verify(i1, times(2)).mockedmethod();
}

我知道它将通过第一次验证,但我对第二次验证有疑问。verify 方法是否计算调用该方法的所有次数,还是仅从上次验证以来计算该方法?


答案 1

请注意,可以使用 Mockito.reset(mock) 重置调用方法的时间

更新:正如t7tran下面所建议的,使用clearInvocations(T... mocks)将仅重置调用次数


答案 2

使用 void reset(T... mocks) 将重置 mocks 上的所有存根。如果您只需要重置调用计数以进行后续验证,请使用 void clearInvocations(T... mocks)。


推荐