@Before
public void setup(){
Ground ground = new Ground(100, 100);
}
@Test
public void getDimX(){
String msg = "For a newly created Ground(100, 100), ground.getDimensionX() should return 100";
assertEquals(100, ground.getDimensionX());
}
上面的代码返回一个NullPointerException。如果将
Ground ground = new Ground(4, 4);
移到getDimX()
方法中,则测试运行正常。我有许多使用相同基础的测试,所以我不希望每个测试用例都做一个新的测试。另外,如果我完全摆脱了@Begin
块,只保留了地面实例化,它也可以正常工作。那么@Before?
的意义是什么 最佳答案
在测试设置之外的测试类中创建了一个私有字段,即
public class MyTest{
private Ground ground;
...
}
然后在您的
before()
中实例化地面@Before
public void before(){ground = new Ground(100,100);}