@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?
答案 0 :(得分:6)
我在导入而不是org.junit.Test时遇到了这个问题 org.junit.jupiter.api.Test
答案 1 :(得分:5)
在测试设置之外的测试类中创建了一个私有字段,即
public class MyTest{
private Ground ground;
...
}
然后在before()
@Before
public void before(){ground = new Ground(100,100);}
答案 2 :(得分:1)
同意@ANU JOHN, 以下进口商品不匹配:
import org.junit.Before;
import org.junit.jupiter.api.Test;
将第二个更改为org.junit.Test;为我修复它。