2013-09-16 65 views
11

在某些時候,我不知道你們是否稱它爲REPL驅動開發什麼的,但是我發現自己通過插入binding.pry來檢查運行時的內容在某些測試中打電話。這工作得很好,除非我正在運行Cucumber測試,因爲我選擇poltergeist作爲我的capybara驅動程序,它使用phantomjs。我可以讓REPL啓動,但過了一段時間它會被殺死,我從phantomjs得到一個超時錯誤,我想知道是否有辦法解決這個問題,即使它包括切換到pry-remote或類似的。這可能以前曾被問過,但我無法找到答案。線索?如何指示phantomjs在使用binding.pry時避免超時

+0

你有沒有試過'pry-remote'呢?看起來這樣會有幫助,因爲pry會在單獨的進程中運行。 –

+0

您是否找到了解決方案?它也發生在我身上。 –

回答

0

在撬你應該能夠做到:

page.driver.timeout = 10000 

Capybara.current_session.driver.timeout = 10000 

這應該讓向下傳遞到插座處理代碼的所有方式,我認爲它會做的工作,雖然我還沒有嘗試過...

+0

不適用於我。 – freemanoid

2

我把這個在我的spec_helper,所以我可以設置超時

Capybara.register_driver :poltergeist do |app| 
    Capybara::Poltergeist::Driver.new(app, {timeout: 600, js_errors: false}) 
end