我正在使用LibGDX headless backend运行jUnit测试,对于某些测试来说效果良好,但如果我尝试创建一个
为了保持简单,我创建了一个只加载纹理的方法:
那么,我的测试类是这样的:
new Texture('myTexture.png');
,则会出现NullPointerException。精确的错误信息如下:java.lang.NullPointerException
at com.badlogic.gdx.graphics.GLTexture.createGLHandle(GLTexture.java:207)
为了保持简单,我创建了一个只加载纹理的方法:
public class TextureLoader {
public Texture load(){
return new Texture("badlogic.jpg");
}
}
那么,我的测试类是这样的:
public class TextureTest {
@Before
public void before(){
final HeadlessApplicationConfiguration config = new HeadlessApplicationConfiguration();
new HeadlessApplication(new ApplicationListener() {
// Override necessary methods
...
}, config);
}
@Test
public void shouldCreateTexture() {
TextureLoader loader = new TextureLoader();
assertNotNull( loader.load() );
}
}
这个方法在我的实际应用中可以正常工作,但在单元测试中不能。
我如何使用 HeadlessApplication
类来加载纹理?