В School
классе, у меня есть start()
функцию, вызывающие другая функция doTask()
:Ложные/Заглушка RuntimeException в единичном испытании
pubic class School {
public void start() {
try {
doTask();
} catch(RuntimeException e) {
handleException();
}
}
private void doTask() {
//Code which might throw RuntimeException
}
}
Я хочу модульное тестирование start()
с RuntimeException
:
@Test
public void testStartWithException() {
// How can I mock/stub mySchool.start() to throw RuntimeException?
mySchool.start();
}
It не легко для моего кода реализации бросить RuntimeException
, как я могу сделать тестовый код, чтобы высмеять RuntimeException & бросить его?
(Кроме чистого JUnit, я рассматриваю с помощью Mockito, но не знает, как бросить RuntimeException)
Возможный дубликат [Mockito проверить метод недействительным сгенерирует исключение] (http://stackoverflow.com/questions/15156857/mockito-test-a-void-method-throws-an- исключение) – RAnders00
Почему doTask() выдает исключение? Если это из-за плохих входов, просто используйте плохие входы в тесте. Если это связано с взаимодействием со службой, которая имеет непредвиденную проблему, вам нужно высмеять или закрыть эту службу, чтобы она выбрала исключение для имитации проблемы. –