Как очистить ресурс, когда я прерываю тест JUnit4 в режиме отладки? - PullRequest
1 голос
/ 22 апреля 2011

Как вы управляете очисткой ресурса в JUnit4 (в JUnitRunner / в TestCase) при прерывании теста в режиме отладки?

Я использую Selenium WebDriver, внедряя тесты JUnit. Когда я запускаю тест в режиме отладки, если я прерываю тест, нажимая кнопку остановки, мой навигатор все еще открыт. Я хотел бы закрыть этот навигатор, вызвав метод. Но я не знаю, где вызывать этот метод. Фактически, я переопределил BlockJUnit4ClassRunner , чтобы иметь свой собственный Runner, и я также реализовал WebDriverTestCase . Так что я могу многое сделать.

Я попытался реализовать мой собственный SecurityManager и переопределить метод checkExit (int status) , но когда я прерываю свой тест в режиме отладки, SecurityManager не вызывается (с System.exit (), работает правильно).

1 Ответ

2 голосов
/ 13 октября 2012

Насколько я знаю, нет никакого способа выполнить что-либо, когда вы останавливаете сеанс отладки.

Единственное решение проблемы такого рода это: Снесите в настройках!

Это означает, что вы должны проверить свой метод @Before, прежде чем создавать новый WebDriver, если старый браузерный процесс все еще работает, и если вы его найдете, убейте его.(См. Как получить список текущих открытых окон / процессов с Java? и Уничтожение процесса с помощью Java )

Кроме того, вы, вероятно, также хотите удалить веб-драйверкаталоги в вашем временном каталоге.

...