我知道你可以在mock上设置几个不同的对象.防爆.
when(someObject.getObject()).thenReturn(object1,object2,object3);
你能以某种方式用间谍物体做同样的事情吗?我在没有运气的间谍上尝试了上述内容.我在文档中读到了doReturn()如下所示的间谍
doReturn("foo").when(spy).get(0);
但deReturn()只接受一个参数.我想在间谍上按特定顺序返回不同的对象.这可能吗?
我有一个类似下面的类,我正在尝试测试它.我想测试myClass,而不是anotherClass 
public class myClass{
    //class code that needs several instances of `anotherClass`
    public anotherClass getObject(){
        return new anotherClass();
    }
}
fge*_*fge 42
你可以doReturn()之前链接电话when(),所以这是有效的(mockito 1.9.5):
private static class Meh
{
    public String meh() { return "meh"; }
}
@Test
public void testMeh()
{
    final Meh meh = spy(new Meh());
    doReturn("foo").doReturn("bar").doCallRealMethod().when(meh).meh();
    assertEquals("foo", meh.meh());
    assertEquals("bar", meh.meh());
    assertEquals("meh", meh.meh());
}
另外,我不知道你能做什么when(x.y()).thenReturn(z1,z2),当我必须这样做时,我也使用链式.thenReturn()调用:
when(x.y()).thenReturn(z1).thenThrow().thenReturn(z2)
| 归档时间: | 
 | 
| 查看次数: | 12750 次 | 
| 最近记录: |