Quiero usar Mockito para probar el código (simplificado) a continuación. No sé cómo decirle a Mockito que falle la primera vez, y luego triunfar la segunda vez.Simular la primera llamada falla, la segunda llamada tiene éxito
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();
}
}
puedo configurar la prueba de éxito con:
Mockito.when(myMock).doTheCall().thenReturn("Success");
Y la prueba de fallos con:
Mockito.when(myMock).doTheCall().thenReturn("you failed");
Pero, ¿cómo puedo probar que si falla una vez (o dos veces) y luego tiene éxito, está bien?
¿Puede alguien explicar cómo lograr lo mismo usando Jmockito – Bharat