2010-10-06 26 views
1

在我們的Cucumber步驟中,我們希望在一個步驟中啓動一個長時間運行的任務,並檢查該任務是否正在運行,並在另一步中正確設置任務的UI。在第一步仍在運行時,必須檢查UI。 我們的黃瓜看起來與此類似:如何在Ruby中同時運行Cucumber步驟?

Given I start my long running task 
And I navigate to application status page 
Then I should see "Status" in the html 

我們使用DelayedJob寶石來完成我們的長期運行的任務,目前在一個新的線程運行延遲:: Job.work_off。

與Cucumber同時運行步驟的最佳方式是什麼?
有沒有官方支持的方式來做到這一點?

回答

0

你可能想看看

叉勺

http://github.com/timcharper/spork

或水潤

http://github.com/ngauthier/hydra

我不能完全肯定,您可以並行運行步驟。功能/場景你可以。我假設這是因爲長期運行的任務是正確的?

如果我的假設是正確的,Delayed :: Job.work_off是最好的方法,如果這需要很長時間,您可以模擬/存根過程。分別測試工作人員/流程,這樣您的場景就可以毫不拖延地運行,並且您延遲的工作將單獨進行測試。 (這可以類似於單獨測試模型和控制器)

+0

感謝您的建議。我們可能會開始使用Hydra來加速我們的測試。 雖然沒有回答這個問題。我們需要並行運行步驟而不是測試。 – Sean 2010-10-07 03:03:52

+0

已更新的答案.. – 2010-10-07 03:24:35

相關問題