如何部分重置模拟/间谍



我只想重置间谍中的方法计数。

可能吗?

我知道存在方法

Mockito.reset

但它完全重置了模拟。

通常,这样做的方法是在@Before方法中设置模拟/间谍,以便对于每个测试,行为相同,但计数始终重置。如果您需要在测试中重置计数,我建议您创建一种方法来设置所需的行为。调用reset然后调用行为设置方法。

执行此操作的另一种方法可能是使用Answer来捕获方法调用,然后重置Answer

private List<InvocationOnMock> invocationList = new ArrayList<>();

when(spy.someMethod(anyString())).thenAnswer(new Answer() {
   Object answer(InvocationOnMock invocation) {
      invocationList.add(invocation);
      return null; // Or whatever you need to return
   }
});
// instead of reset
invocationList.clear();

相关内容

  • 没有找到相关文章

最新更新