如何在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

上一篇: How to instantiate a shared resource in JUnit

下一篇: How to download a file from server using SSH?