我在我的开发计算机上玩弄哈德森,遇到了一个问题,我的一个自动化单元测试必须创建一个QApplication才能测试QWidget的子类。由于哈德森在没有X的情况下运行,因此失败。错误日志显示为unknown: cannot connect to X server
。与Hudson的持续集成和自动化测试QWidgets
有没有办法让我使用Hudson或类似的CI系统自动执行这些测试?我正在使用的库阻止我将测试中的这个代码从QWidget中分离出来。
我在我的开发计算机上玩弄哈德森,遇到了一个问题,我的一个自动化单元测试必须创建一个QApplication才能测试QWidget的子类。由于哈德森在没有X的情况下运行,因此失败。错误日志显示为unknown: cannot connect to X server
。与Hudson的持续集成和自动化测试QWidgets
有没有办法让我使用Hudson或类似的CI系统自动执行这些测试?我正在使用的库阻止我将测试中的这个代码从QWidget中分离出来。
尝试推出一些X服务器。记住它不需要物理地显示任何东西 - 一个VNC服务器就足够了。然后,在你的hudson实例中设置$ DISPLAY环境变量来指向VNC服务器。
除非他们具有单元测试所需的设施,否则他们通过或不通过不是有用的信息。那时你真的在测试什么?
或
虽然我最终分裂了代码,以便可以在不减慢创建QApplication和QWidgets的速度的情况下测试它的代码,但我也发现了Hudson的Xvnc插件,它完全符合这个建议。 –