
在此之后,所有测试仍在运行,除了一个.失败的线是:
expect { click_button "Create" }.to change(Answer,:count).by(count) 如果我删除了expect并添加了一个方法来截取前后的截图,我可以看到测试运行正常.但是,如果我通过调试器进入低谷,日志会显示在第二个屏幕截图行之后创建记录.我可以永远等待click_button,并在执行第一行后运行相应的Controller *** 作.
“创建”按钮是标准的HTML按钮,创建 *** 作中不涉及Js.某人对这种奇怪的行为有解释吗?
解决方法 Capybara将点击 *** 作发送到服务器和测试检查数据库之间存在竞争条件.解决此问题的最简单方法是在检查之前等待:
expect { click_button "Create"; sleep 2 }.to change(Answer,:count).by(count) 我不喜欢这个.测试这个的更好方法是从最终用户的角度进行检查.
例如,单击“创建”后,用户是否在答案页面上看到答案?
fill_in :Title,:with => "My answer"click_button 'Create'page.should have_text "My answer"总结
以上是内存溢出为你收集整理的ruby-on-rails-3 – 在更改为capybara-webkit后单次测试失败全部内容,希望文章能够帮你解决ruby-on-rails-3 – 在更改为capybara-webkit后单次测试失败所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)