我想在间谍中仅重置方法计数。
有可能吗?
我知道存在方法
Mockito.reset
但它完全重置了模拟。
答案 0 :(得分:0)
通常,这样做的方法是在@Before
方法中设置mock / spy,这样对于每个测试,行为都是相同的,但计数总是被重置。如果您需要重置计数中期测试,我建议您创建一种方法来设置您需要的行为。调用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();