Как имитировать различное поведение одного и того же вызова метода, выполненного в циклеJAVA

Программисты JAVA общаются здесь
Anonymous
Как имитировать различное поведение одного и того же вызова метода, выполненного в цикле

Сообщение Anonymous »

Я новичок в Mockito, и у меня есть вопрос.

Предположим, у меня есть метод:

Код: Выделить всё

SomeClass someMethod() throws SomeException{};
и он вызывается в цикле:

Код: Выделить всё

for(int i=0; i < 2; 1++) {
try {
SomeClass someObject = someMethod();
} catch(SomeException e) {
//. Do something
}
}
Я знаю, что при насмешке мы можем отдельно имитировать выполнение метода для вызова, который успешно возвращает объект SomeClass, а также имитировать сценарий исключения:
Успешный результат:

Код: Выделить всё

when(someMethod()).thenReturn(new SomeClass());
Исключение:

Код: Выделить всё

when(someMethod()).thenThrow(new SomeException());
Мои вопросы:
Как мне имитировать вызов метода someMethod(), чтобы при одном вызове он успешно возвращал объект SomeClass, а при другом вызове выдавал SomeException?
По сути, чтобы обеспечить покрытие кода как для успешных сценариев, так и для сценариев исключений в:

Код: Выделить всё

for(int i=0; i < 2; 1++) {
try {
SomeClass someObject = someMethod();
} catch(SomeException e) {
// Do something
}
}
Надеюсь, это имеет смысл! Будем очень признательны за любую помощь в этом отношении.
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/784 ... -in-a-loop

Вернуться в «JAVA»