我不确定是否已经存在与此类似的问题,但是我找不到任何有用的答案。
我必须创建一个应该由所有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)
}
}
存在编译错误,因为我无法从静态类访问非静态变量。
我可以将所有对象设为静态,但这对我来说似乎是不必要的。 做这个的最好方式是什么?
答案 0 :(得分:2)
对于您的用例,我建议使用@Before
:
class Abc {
MyObject object;
@Before
public void setUp() {
object = new MyObject();
}
@Test
public void test() {
// Use object
}
}