Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
14 Июл 2023
1 мин
553

Тестирование методов void в Mockito, которые выбрасывают исключения

В разработке программного обеспечения на Java часто встречается ситуация, когда необходимо протестировать метод с возвращаемым типом void, который может

В разработке программного обеспечения на Java часто встречается ситуация, когда необходимо протестировать метод с возвращаемым типом void, который может выбросить исключение. В этом случае, для тестирования можно использовать библиотеку Mockito.

Предположим, есть метод, который не возвращает ничего (void), но при определенных условиях выбрасывает исключение:

public void someMethod() throws Exception {
    // некоторый код, который может выбросить исключение
}

Основная проблема при тестировании такого метода заключается в том, что обычный подход Mockito с использованием when(...).then(...) не работает, так как метод when() ожидает, что его аргументом будет какое-то значение, а не void.

when(mockedObject.someMethod()).thenThrow(new Exception()); // некорректно

Вместо этого, нужно использовать комбинацию doThrow(...).when(...). Этот подход позволяет настроить объект-заглушку так, чтобы при вызове определенного метода он выбрасывал исключение.

doThrow(new Exception()).when(mockedObject).someMethod(); // корректно

Таким образом, при вызове someMethod() на объекте mockedObject будет выброшено исключение Exception. Это позволяет организовать тест таким образом, чтобы проверить корректность обработки исключения в тестируемом коде.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий