我有以下RSpec的片段:水豚不等待完成click_button提交行動「保存」
describe "Save should create a ClassificationScheme" do
subject { lambda { click_button "Save"; sleep 1 } }
it { should change(ClassificationScheme, :count).by(1)
end
如果沒有「休眠1」豚不會等待被激發的操作保存按鈕,規格失敗。隨着睡眠1是好的,但有沒有更好的解決方案?
請注意,此測試使用selenium webdriver在Firefox中運行。
我的版本:
- 軌4.1.12
- rspec的2.99.0
- 水豚2.4.4
- 硒的webdriver 3.2.1
- 火狐51.0.1
wait_for_ajax是一個應該很少使用的柺杖,特別是隨着越來越多的庫/框架轉向普通的JS而不是使用JQuery。正確的解決方案是在頁面上設置一個可視化更改的期望。 –
我同意,但問題只包括服務器端更改的測試。理想情況下,會有一個視覺指標,這就是功能規格應該尋找的。對記錄更新等服務器端更改的測試屬於請求規範。 –