@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());
}
Run Code Online (Sandbox Code Playgroud)
上面的代码返回一个NullPointerException.如果我移动Ground ground = new Ground(4, 4);到getDimX()方法,测试运行良好.我有许多测试将使用相同的基础,所以我宁愿不为每个测试用例创建一个新测试.此外,如果我@Begin完全摆脱该块,只是离开地面实例,它也可以正常工作.那么重点是什么呢?@Before?
小智 9
当我导入 org.junit.jupiter.api.Test 而不是 org.junit.Test 时,我遇到了这个问题
在测试设置之外的测试类中创建了一个私有字段,即
public class MyTest{
private Ground ground;
...
}
Run Code Online (Sandbox Code Playgroud)
然后在你的实例中实例化 before()
@Before
public void before(){ground = new Ground(100,100);}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8309 次 |
| 最近记录: |