2012-01-30 75 views
2

我有jRuby on Rails應用程序,並進行了一些黃瓜測試。黃瓜在所有場景通過後掛起

問題是cucumber features執行所有步驟後掛起,直到按下ctrl + c。有趣的是,它只發生在所有測試都通過的情況下。

10 scenarios (10 passed) 
116 steps (116 passed) 
13m59.058s 
-> hangs here 

我試着加入全球at_exit鉤,它正在執行比命令凍結。

這裏是我的bundle listhttps://gist.github.com/37f2448055071bbbc636

我的臨時解決方案是增加at_exit鉤這樣

at_exit do 
    exit! !($!.nil? || $!.is_a?(SystemExit) && $!.success?) 
end 

某些連接可以保持打開,數據未清洗等,但它至少會與退出正確的狀態碼,由CI服務器使用。

回答

0

在我們的案例中,我們意識到當我們創建沒有正確退出的後臺進程時,會發生這種鎖定。我們解決了這個問題,用spawn()替代system()調用,並在我們的at_exit鉤子中終止任何子進程。