如何在JUnit中实例化共享资源
我注意到,jUnit为每个正在测试的方法运行我的测试类的构造函数。 这是一个例子:
public class TestTest {
protected BigUglyResource bur;
public TestTest(){
bur=new BigUglyResource();
System.out.println("TestTest()");
}
@Test
public void test1(){
System.out.printf("test1()n");
}
@Test
public void test2(){
System.out.printf("test2()n");
}
@Test
public void test3(){
System.out.printf("test3()n");
}
}
给出以下结果:
TestTest() test1() TestTest() test2() TestTest() test3()
调用BigUglyResource的构造函数太耗时,我宁愿只构建它一次。 我知道你可以使用@BeforeClass来运行一次方法,但@BeforeClass仅适用于静态方法。 在上面的例子中,静态方法不能访问像BigUglyResource这样的类属性。 除了建立单身人士之外,还有哪些选择?
你不能声明BigUglyResource
静态的吗? 这是我通常的做法。
private static BigUglyResource bur;
@BeforeClass
public static void before(){
bur=new BigUglyResource();
}
你可以让“bur”静止:
protected static BigUglyResource bur;
并使用@BeforeClass。
链接地址: http://www.djcxy.com/p/64091.html