Je souhaite utiliser Mockito pour tester le code (simplifié) ci-dessous. Je ne sais pas comment dire à Mockito d'échouer la première fois, puis de réussir la deuxième fois.
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();
  }
}Je peux configurer le test de réussite avec:
Mockito.when(myMock).doTheCall().thenReturn("Success");Et le test d'échec avec:
Mockito.when(myMock).doTheCall().thenReturn("you failed");Mais comment puis-je tester que si cela échoue une (ou deux fois) puis réussit, tout va bien?
doThrow(new RuntimeException()).doNothing().when(myMock).doTheCall();