Если исключение выдается в методе @BeforeEach, будет ли по-прежнему выполняться @AfterEach - PullRequest
2 голосов
/ 10 января 2020

В моих тестах у меня есть настройка данных (которая представляет собой серию различных сущностей), которая происходит в методе @BeforeEach. Я очищаю эти данные в методе @AfterEach. Теперь, если при создании какого-либо из этих объектов возникнет исключение, будет ли выполняться метод @AfterEach? В настоящее время у меня есть обходной путь с блоком try / catch в моем методе @BeforeEach, но это уменьшит некоторое дублирование кода, если метод @AfterEach позаботится об этом за меня.

1 Ответ

1 голос
/ 10 января 2020

Таким образом, после дальнейшего тестирования метод @AfterEach запускается после метода @BeforeEach в случае возникновения исключения в методе @BeforeEach. Метод @BeforeEach выполняет настройку данных в БД. Он запускает серию вызовов API для создания всех данных, которые сохраняются в БД. Затем выполняется тест, а затем метод @AfterEach. Если при создании сущности возникает исключение, метод @BeforeEach завершается, вызывается метод @AfterEach, который очищает любые созданные сущности.

...