无论如何,我们可以让一个模拟方法的行为不同,这取决于这个模拟方法被调用的次数?
例如。
如果你有一个名为
public boolean mockedmMethod() {
//logic here
}
你想让它以这种方式被嘲笑:
当第一次调用 mockedMethod() 时,返回 true
。
第 3 次以下时间它被调用...,返回false
。
这能满足您的需求吗?
given(mock.mockedMethod())
.willReturn(true, true, false, false)
.willReturn(true)
.willThrow(IllegalStateException.class)
.will(execute_my_custom_answer());
实际上,我发现:
Mockito.when(mockedMethod()).thenReturn(true).thenReturn(false);
也做诀窍。