【发布时间】:2019-04-18 18:15:46
【问题描述】:
我想知道 Mockito 创建的间谍是否可以被存根以返回一个值。在下面的代码中,spy.get(0) 被存根返回一个字符串“不可访问”。所以我认为 assertEquals() 应该通过。但是测试方法最终会抛出一个 IndexOutOfBoundsException 异常。所以,我认为必须调用 get() 的真实版本而不是存根版本。 spy可以被stub吗?
@Test
public void doReturnUsage() throws Exception {
List<String> list = new ArrayList<String>();
List<String> spy = spy(list);
when(spy.get(0)).thenReturn("not reachable");
assertEquals("not reachable", spy.get(0));
}
【问题讨论】:
-
您的示例,以及如何修复它,实际上在文档中:static.javadoc.io/org.mockito/mockito-core/2.23.0/org/mockito/…