Интересно, можно ли заглушить шпиона, созданного Mockito, чтобы вернуть значение. В следующем коде spy.get(0) заглушен, чтобы вернуть недостижимую строку. Поэтому я думаю, что assertEquals() следует передать. Но тестовый метод заканчивается выдачей исключения IndexOutOfBoundsException. Итак, я думаю, что должна быть вызвана настоящая версия get(), а не заглушенная версия. Можно ли заглушить шпиона?
@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));
}