代码
public class Abc extends Applet{
public Abc(){
super();
//some codes
}
Junit测试
public class AbcTest extends TestCase{
@Before
public void setup() throws exception{
Abc abc = new Abc()
}
@Test
// Some test methods.
}
错误
java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.applet.Applet.<init>(Applet.java:75)
在Windows中构建成功。 这是linux问题吗?
如何在不删除完整测试类的情况下删除此错误。
提前致谢
Abbin
答案 0 :(得分:2)
您可能正在使用awt中的类而无法访问X服务器。
为避免这种情况,请将此选项传递给JVM:-Djava.awt.headless=true
。
在Windows中,始终有显示,因此这绝不是问题......
答案 1 :(得分:0)
某些Java类要求显示器正常工作,在Linux下运行X11会话时可能会出现问题。解决此问题的一种方法是使用xvfb创建将在使用maven构建时使用的虚拟显示。
答案 2 :(得分:0)
我使用Debian,默认情况下junit
尝试启动GUI,这会给我此错误消息。 (我猜它想显示测试结果。)您可以通过使用-text
开关来调用它来避免这种情况。