मैं नीचे (सरलीकृत) कोड का परीक्षण करने के लिए मॉकिटो का उपयोग करना चाहता हूं। मैं नहीं जानता कि पहली बार असफल होने के लिए मॉकिटो को कैसे बताया जाए, फिर दूसरी बार सफल हुआ।
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();