首页 > 解决方案 > @ClassRule 用于所有测试类

问题描述

我有 ClassRule 例如 myRule ,我想将此类规则应用于所有测试类。我使用弹簧(集成测试)junit 4。

万一:我必须添加所有类这个语句:

@ClassRule 
public static MyRule myRule = MyImplRule.getInstance();

有没有办法不在所有测试类中写这个语句,而是应用所有测试类?

标签: javajunit

解决方案


我认为你应该看这里:

如何在任何类的任何测试之前和之后运行一组代码?

您的案例的最佳示例是声明一个测试套件:

@RunWith(Suite.class)
@SuiteClasses({ Test1.class, Test2.class })
public class AllTests {
  @ClassRule
  public static MyRule myRule = MyImplRule.getInstance();
}

该解决方案还显示了为每个测试运行代码的其他一些方法。这是相当不错。


推荐阅读