Легко, используйте when(...).then(...)
, так как это позволяет "плавно соединять" макет спецификации:
Object object = Mockito.spy(new Object());
Mockito.when(object.toString()).thenThrow(new RuntimeException()).thenReturn("yeha");
try {
System.out.println(object.toString());
fail();
} catch(RuntimeException r) {
System.out.println(object.toString());
}
Отпечатки:
Yeha
Yeha!
Серьезно: вы все равно должны предпочесть when(mock.foo()).then...
(см. здесь для списка причин, почему это так). Есть несколько ситуаций, в которых необходимо использовать doReturn().when()
, но, как уже было сказано: это ваше последнее средство, а не ваш первый выбор.