Я хочу використовувати Mockito для тестування (спрощеного) коду нижче. Я не знаю, як сказати Мокіто першому невдачі, потім вдруге.
for(int i = 1; i < 3; i++) {
String ret = myMock.doTheCall();
if("Success".equals(ret)) {
log.write("success");
} else if ( i < 3 ) {
log.write("failed, but I'll try again. attempt: " + i);
} else {
throw new FailedThreeTimesException();
}
}
Я можу встановити тест успішності за допомогою:
Mockito.when(myMock).doTheCall().thenReturn("Success");
І тест на відмову:
Mockito.when(myMock).doTheCall().thenReturn("you failed");
Але як я можу перевірити, що якщо це не вдалося один раз (або два рази), то це вдасться?
doThrow(new RuntimeException()).doNothing().when(myMock).doTheCall();