Я работаю с декларативным конвейером Jenkins, который запускает некоторые тесты, использующие JUnit 4. В тестах есть методы @After
, в которых происходит очистка тестов. Когда конвейер прерывается во время теста, я подтвердил, что методы @After
никогда не выполняются (подтверждено с помощью операторов журнала в методах @After
и проверки журнала консоли Jenkins).
Это оставляет тестовые данные (например, пользователи, которые используются в тестах) в плохом состоянии и вызывают сбой последующих тестов (и сборок конвейера), поэтому это проблема.
Конвейер прерывается с помощью кнопки «стоп» пользовательского интерфейса Jenkins или с помощью конвейер достигает тайм-аута для этого этапа. В обоих случаях конвейер завершается с кодом 143, который является SIGTERM
.
Как я могу гарантировать, что методы JUnit 4.x @After
выполняются при прерывании декларативного конвейера Jenkins?