特拉维斯CI - 在非无头环境中进行LWJGL测试?

Eng*_*_DJ 5 java headless lwjgl libgdx travis-ci

我正在尝试对Travis CI进行一些测试,这些测试需要服务器,这是错误的...... 不是无头的.正如你所知,我对这个领域知之甚少,我甚至不知道使用正确的术语.

测试使用LibGDX和LWJGL.它们在我的桌面(Windows 8和Ubuntu)上工作正常,但在Travis CI中出人意料地失败:

Could not initialize class org.lwjgl.Sys
    at org.lwjgl.opengl.Display.<clinit>(Display.java:135)
    at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setVSync(LwjglGraphics.java:446)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:118)
Run Code Online (Sandbox Code Playgroud)

我可以对Travis CI做任何事情让它认为它有适当的显示吗?即使Travis CI无法做到这一点,我是否可以采用通用方法与另一个VM进行更多控制?

小智 5

这可以通过 xvfb 来完成。在您的 travis.yml 中,添加以下内容:

before_script:
  - export DISPLAY=:99.0
  - sh -e /etc/init.d/xvfb start
Run Code Online (Sandbox Code Playgroud)

如果您还没有 xvfb,则必须安装它。您可能还需要在 VM 上安装测试所需的其他库/包(例如,对于 Web 应用程序测试,您需要一个浏览器)。