TestSuite JUnit → Каждый TestCase имеет те же @Before и т.д.

Я просто пишу тесты Selenium WebDriver som с помощью JUnit 4.

Контрольные случаи сгруппированы JUnit TestSuite. Каждый тестовый пример (тестовый класс) имеет тот же @Rule @BeforeTest @AfterTest

Как я могу реализовать это в JUnit TestSuite, так что у меня нет одинакового кода для @Rule, @BeforeTest и @AfterTest в каждом тестовом случае (классе)?

//edit: возможно, я определяю абстрактный класс testcase, который я расширяю от каждого тестового примера?

1 ответ

Вы можете объединить код @Rule, @BeforeTest и @AfterTest в одно правило.

public class TheMergedRule implements TestRule { private final TestRule theCurrentRule = ... public Statement apply(final Statement base, final Description description) { return new Statement() { theCodeOfBefore(); theCurrentRule.apply(base, description); theCodeOfAfter(); } } public void theCodeOfBefore() { ... } public void theCodeOfAfter() { ... }
}

licensed under cc by-sa 3.0 with attribution.