初始化所有junit测试用例均可使用的对象的最佳方法

时间:2019-07-18 11:40:37

标签: java junit

我不确定是否已经存在与此类似的问题,但是我找不到任何有用的答案。

我必须创建一个应该由所有junit测试用例使用的对象的列表。

如果我这样写一个@BeforeClass方法:

 @BeforeClass
 static public void setUp() {
    MyObject object = new MyObject (int a, Stringb)
 }

不起作用,因为这些对象超出了junit测试用例的范围

如果我这样写@BeforeClass方法:

Class Abc{
    MyObject object; 
    @BeforeClass
     static public void setUp() {
        object = new MyObject (int a, Stringb)
     }
}

存在编译错误,因为我无法从静态类访问非静态变量。

我可以将所有对象设为静态,但这对我来说似乎是不必要的。 做这个的最好方式是什么?

1 个答案:

答案 0 :(得分:2)

对于您的用例,我建议使用@Before

class Abc {

    MyObject object; 

    @Before
    public void setUp() {

        object = new MyObject();
    }

    @Test
    public void test() {
        // Use object
    }
}