2016-02-20 2 views
0

Я тестирует функцию, которая из ниже структуры:как проверить недействительный метод «вернулся» в Mockito

void method1() { 
    if(booleanCondition1) { 
     return; 
    } 
    callMethod2(); 
    callMethod3(); 
... 
.. 
    callMethod-n(); 
} 

Я должен написать тест макета для этого, когда booleanCondition1 имеет значение TRUE. Один из способов - убедиться, что callMethod2() и callMethod3() и т. Д. До callMethod-n() никогда не вызываются (с использованием Mockito.never()).

Есть ли эффективный способ сделать это, а не убедиться, что все заявления после возвращения не были вызваны?

Другими словами, могу ли я проверить, был ли применен оператор «return» с использованием Mockito?

ответ

1

Вы не можете проверить, какие встречались return заявления, но вы можете сделать verifyZeroInteractions или verifyNoMoreInteractions, чтобы охватить много verify(mock, never()) утверждений.

Используйте его экономно - verifyNoMoreInteractions может привести к хрупким испытаниям, если они чрезмерны.

+0

Привет, Джефф, эта половина моей проблемы. Мне также нужно проверить, что некоторые методы на объектах Spied (не mocks) не вызываются. Есть ли аналогичный метод для целевых целей? – venkataratnam

+0

@venkataratnam Эти призывы - и большая часть остальной части Мокито - работают на шпионов, а также на насмешки. –

+0

Я пробовал это на объекте, построенном подобным образом (экземпляр it = spy (новый экземпляр()), я получил сообщение об ошибке «не макет» – venkataratnam

Смежные вопросы