我正在使用libgdx编写游戏,使用junit框架简化我的代码的单元测试。现在有部分代码(一个地图生成器,一个将我的自定义地图格式转换成TiledMap的类...)需要进行彻底的测试,但它使用了libgdx的代码:从文件处理到资源加载。我不打算以这种方式测试实际的图形输出或游戏本身,但我想测试单个组件(计算、资源访问...)以避免明显的错误。
我已经在“setUpBeforeClass”方法中尝试过这样做:
LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
cfg.useGL20 = true;
cfg.width = 480;
cfg.height = 320;
cfg.resizable = true;
LwjglApplication app = new LwjglApplication( new TestApplicationListener(), cfg);
在 tearDownAfterClass() 中调用:
Gfx.app.exit()
但它创建了一个我不需要的窗口,当我只需要初始化文件处理时似乎过于复杂。有没有更好的方法可以在不创建整个应用程序对象的情况下初始化libGDX组件?谢谢。
编辑
回顾一下(感谢评论中的Sam),我意识到需要GL访问(加载资源需要它),但这种方法似乎行不通:图形库似乎没有被初始化。 GDX文档并没有提供帮助。有什么线索吗?