在无头环境中单一测试SWT和Swing应用程序的最简单的方法?

我正在为单元测试一些SWT和Swing代码进行工作,只要我从 eclipse中运行它们,测试运行正常.

一旦我在哈德逊环境中运行它们,就会因为哈德逊以无头模式运行测试而失败.

这样做最好的方法是什么?只有开源解决方案(因为项目是开源的).

您可以运行 Xvfb(X虚拟帧缓冲区,一个执行所有内存中的图形操作的X11服务器),这样可以正常运行.

但Hudson的Xvnc插件还有另一个解决方案.只需安装插件,并选中作业配置屏幕中的复选框:

alt text http://www.justinedelson.com/blog/wp-content/uploads/xvnc_box.jpg

然后,Hudson将自动启动Xvnc会话,并将disPLAY环境变量设置为适当的值,然后在构建完成时关闭会话.与Xvfb方法相比,其优点在于,如果您同时构建多个Swing / SWT项目,则每个构建都有自己的X会话.这可能不是一个问题,但它似乎是一个好主意.

在使用这个插件之前,你显然必须安装Xvnc.不太明显(虽然很明智)是你也必须设置一个密码.您可以运行以下操作:

$vncpassword

这必须像哈德逊一样运行的用户完成.

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...