TestSuite JUnit - >每个TestCase都有相同的@Before等

时间:2014-10-24 06:54:13

标签: junit test-suite

我只是用JUnit 4编写som Selenium WebDriver测试。

测试用例按JUnit TestSuite分组。每个测试用例(测试类)都具有相同的@Rule @BeforeTest @AfterTest

我如何在JUnit TestSuite中实现这一点,以便在每个测试用例(类)中没有@ Rule,@ BeforeTest和@AfterTest的相同代码?

// edit:也许我定义了一个抽象的测试用例类,我从每个测试用例中扩展出来?

1 个答案:

答案 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() {
    ...
  }
}