我注意到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");
}
}
Run Code Online (Sandbox Code Playgroud)
给出以下结果:
TestTest() test1() TestTest() test2() TestTest() test3()
将构造函数调用到BigUglyResource太耗时,我宁愿只构建一次.我知道你可以使用@BeforeClass运行一次方法,但@BeforeClass仅用于静态方法.静态方法无法访问上面示例中的BigUglyResource类属性.除了构建Singleton之外,还有哪些选择?
你不能声明BigUglyResource静态吗?这就是我通常这样做的方式.
private static BigUglyResource bur;
@BeforeClass
public static void before(){
bur=new BigUglyResource();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1103 次 |
| 最近记录: |