我遇到了一个非常大的问题:由于NullPointerException,我无法运行单元测试。我会更清楚:
private Character c;
private Sprite s;
private Gioco1 g;
private HeadlessApplicationConfiguration cfg;
HeadlessApplication app;
@Before
public void setUp() throws Exception {
this.cfg = new HeadlessApplicationConfiguration();
this.g= new Gioco1();
this.app =new HeadlessApplication(g, cfg);
}
@Test
public void testLeft(){
this.c=g.getPacman();
c.left();
assertEquals(c.getSprite().getX(),c.getSprite().getX()-2,0f);
}
问题是g.getPacman()返回一个Character类型的对象(它是我的一个类),它始终是NULL。即使我尝试使用以下方法来解释一个新角色:
c = new Character("res/pacman.png");
它不起作用。这是Character的构造函数:
public Character(String img) {
super(img);
right=true;
left=false;
down=false;
up=false;
Sprite=new Sprite(this);
}
它在super(img)上给出NullPointerException,其中super是Texture(Character extends Texture)的构造函数。这怎么可能?它就像测试类无法识别内部路径" res / pacman.png"。
我不知道单位如何测试此应用程序。
你可以帮帮我吗?
非常感谢!