从测试中重构JUnit规则

时间:2013-11-05 06:48:34

标签: testing junit refactoring code-reuse redundancy

我有几个测试并使用junit。在我的所有测试文件中,我都有junit @Rule语句。像:

public @Rule
TestWatcher resultReportingTestWatcher = new TestWatcher(this);

我的所有测试文件中都存在此声明和其他一些声明。这个代码的重复让我感到困扰,因为我认为这些行可以移动到一个单独的地方,可以从那里使用。

我不确定是否可以这样做,因为我对junit很新。 需要giudence。

1 个答案:

答案 0 :(得分:1)

您可以将公共Rule放在父类中:

public class AbstractTest {
    @Rule public SomeRule someRule = new SomeRule();
}
public class YourTest extends AbstractTest {
    @Test public void testMethod() {
        someRule.blah();
        // test some things
    }
}