我有以下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。正确的解决方案是在页面上设置一个可视化更改的期望。 –
我同意,但问题只包括服务器端更改的测试。理想情况下,会有一个视觉指标,这就是功能规格应该寻找的。对记录更新等服务器端更改的测试属于请求规范。 –