2011-09-02 68 views
0

我在我的開發計算機上玩弄哈德森,遇到了一個問題,我的一個自動化單元測試必須創建一個QApplication才能測試QWidget的子類。由於哈德森在沒有X的情況下運行,因此失敗。錯誤日誌顯示爲unknown: cannot connect to X server與Hudson的持續集成和自動化測試QWidgets

有沒有辦法讓我使用Hudson或類似的CI系統自動執行這些測試?我正在使用的庫阻止我將測試中的這個代碼從QWidget中分離出來。

回答

1

嘗試推出一些X服務器。記住它不需要物理地顯示任何東西 - 一個VNC服務器就足夠了。然後,在你的hudson實例中設置$ DISPLAY環境變量來指向VNC服務器。

+0

雖然我最終分裂了代碼,以便可以在不減慢創建QApplication和QWidgets的速度的情況下測試它的代碼,但我也發現了Hudson的Xvnc插件,它完全符合這個建議。 –

0

除非他們具有單元測試所需的設施,否則他們通過或不通過不是有用的信息。那時你真的在測試什麼?

  • 有條件地編譯單元測試不包括它們。如果你有Mac特定的代碼,你不會在Windows上測試它。

  • 固定單元測試