4
我已經爲我的Rails 3.2應用程序編寫了一些RSpec測試,並且因爲我彈出瀏覽器彈出來,我試圖從Firefox更改爲capybara-webkit
。 之後,所有測試仍在運行,除了一個。發生故障的線路是:更改爲capybara-webkit後單個測試失敗
expect { click_button "Create" }.to change(Answer, :count).by(count)
如果我刪除了期待,並添加之前和之後採取截圖的方法,我可以看到,測試正常運行。但是如果我通過調試器低谷,日誌會告訴我記錄是在第二個截圖行後創建的。我可以永遠等待click_button,並在執行下一行後執行相應的Controller動作。
「創建」按鈕是一個標準的html按鈕,在創建操作中不涉及JS。有沒有對這種奇怪的行爲進行解釋?
我嘗試了睡眠,它的工作原理,謝謝!對於第二種選擇:對於這種情況,這是特別的嗎?你不想睡覺在你的測試中,或者這是所有「請求」規格的推薦實踐? – wintersolutions 2012-07-14 01:06:45
請求測試的推薦做法。您希望在其他地方進行大量嘲諷,專注測試,但對於請求規格說明,他們應儘可能少地使用內部知識來測試整個系統。 – 2012-07-14 04:21:12
+1,一百萬感謝! :) – deivid 2013-02-20 12:28:15