0

我在我的开发计算机上玩 Hudson,遇到了一个问题,我的一个自动化单元测试必须创建一个 QApplication 才能测试 QWidget 的子类。由于 hudson 在没有 X 的情况下运行,因此失败。错误日志显示unknown: cannot connect to X server

有没有办法让我使用 Hudson 或类似的 CI 系统自动执行这些测试?我正在使用的库阻止我将被测代码与 QWidget 分开。

4

2 回答 2

1

尝试启动一些 X 服务器。请记住,它不需要物理显示任何东西——一个 VNC 服务器就足够了。然后,在你的 hudson 实例中设置 $DISPLAY 环境变量指向 VNC 服务器。

于 2011-09-02T22:03:34.127 回答
0

除非他们具备单元测试所需的设施,否则他们通过与否并不是有用的信息。那时你真正在测试什么?

  • 有条件地编译单元测试以不包括它们。如果你有 Mac 特定的代码,你不会在 Windows 上测试它。

或者

  • 修复单元测试
于 2011-09-02T21:02:52.817 回答