我有几个JUnit测试需要一个昂贵的资源(WALA class hierachie)的参考,需要大约30秒才能创建。我想在我的整个测试套件中分享这个参考。
我想到了一个基类的静态成员,它是用@BeforeClass
方法懒散地启动的。运行测试后,无论如何都应该确定JVM。
还有其他方法可以实现吗?或者其他任何最佳做法?
答案 0 :(得分:3)
创建一个显式测试套件(参见this answer)以运行这些测试,并在套件本身上使用@BeforeClass
和@AfterClass
(参见this answer):< / p>
@RunWith(Suite.class)
@Suite.SuiteClasses({Test1.class, Test2.class})
public class MySuite {
@BeforeClass
public static void initResource() {
MyExpensiveResource.init();
}
@AfterClass
public static void disposeResource() {
MyExpensiveResource.dispose();
}
}