我只是用JUnit 4编写som Selenium WebDriver测试。
测试用例按JUnit TestSuite分组。每个测试用例(测试类)都具有相同的@Rule @BeforeTest @AfterTest
我如何在JUnit TestSuite中实现这一点,以便在每个测试用例(类)中没有@ Rule,@ BeforeTest和@AfterTest的相同代码?
// edit:也许我定义了一个抽象的测试用例类,我从每个测试用例中扩展出来?
答案 0 :(得分:0)
您可以将@ 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() {
...
}
}