Я хотел бы знать, есть ли способ выполнить какой-либо метод после выполнения моих тестов. Я использую eclipse, и я хотел бы иметь возможность запускать некоторые или все мои тесты, а затем выполнять некоторый код, чтобы junit всегда выполнял мой разрыв один раз, всегда после последнего теста.
Конкретная проблема заключается в том, что я использую веб-драйвер selenium, и я хотел бы выполнить метод выхода из веб-драйвера после того, как все мои тесты будут выполнены. Сначала у меня был статический класс, управляющий ссылкой на веб-драйвер, теперь я перешел на шаблон singleton. Я считаю, что может быть лучшее решение, но сейчас я не хочу использовать какие-либо контейнеры IoC, так как я новичок в Java.
До сих пор я пробовал несколько подходов, но ни один из них не увенчался успехом.
Подход костюма работает только тогда, когда я выполняю все свои тесты:
@RunWith(Suite.class)
@SuiteClasses({SomeTest.class, OtherTest.class, AnotherTest.class})
public class TestSuit {
@BeforeClass
public static void setUp() {
System.out.println("setting up");
}
@AfterClass
public static void tearDown() {
System.out.println("tearing down");
}
}
но что, если я хочу запустить только один тестовый класс или все тесты из одного конкретного пространства имен?
Послеклассовый подход работает, только если все мои тесты сгруппированы в один класс.
Я считаю, что NUnit реализовал SetUpFixtureAttribute , который делает то, что я хотел бы получить, есть ли аналог в jUnit?