0

无论如何,我们可以让一个模拟方法的行为有所不同,具体取决于该模拟方法被调用的次数?

例如。

如果你有一个方法叫做

public boolean mockedmMethod() {
    //logic here
}

你希望它以这种方式模拟:

当第一次调用 mockedMethod() 时,返回true

第二次,第三次被调用...,返回false

4

2 回答 2

2

这能满足你的需要吗?

given(mock.mockedMethod())
        .willReturn(true, true, false, false)
        .willReturn(true)
        .willThrow(IllegalStateException.class)
        .will(execute_my_custom_answer());
于 2012-11-21T15:12:28.407 回答
1

实际上,我发现:

Mockito.when(mockedMethod()).thenReturn(true).thenReturn(false);

也可以解决问题。

于 2012-11-21T16:36:16.167 回答