我有几个 JUnit 测试需要一个昂贵资源的引用(WALA class hierachie),这需要大约 30 秒才能创建。我想在我的整个测试套件中共享此引用。
我想到了一个基类中的静态成员,它是用 @BeforeClass
方法延迟启动的。测试运行后,无论如何都应该确定 JVM。
还有其他方法可以实现吗?或者任何其他最佳实践?
最佳答案
创建一个显式测试套件(参见 this answer )来运行这些测试,并在套件本身上使用 @BeforeClass
和 @AfterClass
(参见 this answer ):
@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();
}
}
关于java - 在不同的 JUnit 测试之间共享对象引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23474905/