ruby-on-rails-3 – 在更改为capybara-webkit后单次测试失败

ruby-on-rails-3 – 在更改为capybara-webkit后单次测试失败,第1张

概述我已经为我的rails 3.2应用程序编写了一些RSpec测试,因为我被浏览器d出了ich试图从firefox改为capybara-webkit. 在此之后,所有测试仍在运行,除了一个.失败的线是: expect { click_button "Create" }.to change(Answer, :count).by(count) 如果我删除了expect并添加了一个方法来截取前后的截图,我可 我已经为我的rails 3.2应用程序编写了一些RSpec测试,因为我被浏览器d出了ich试图从firefox改为capybara-webkit.
在此之后,所有测试仍在运行,除了一个.失败的线是:

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后单次测试失败所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1290050.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存