我正在写一个关于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文档没有帮助。任何线索?