ruby-on-rails - cucumber - 步骤结束后出现服务器错误

标签 ruby-on-rails seo bots

我的 Cucumber 测试在某些测试结束后出现非确定性失败。似乎当浏览器/ cucumber 步骤完成时,服务器上仍在处理请求,并且即使在 DatabaseCleaner 运行和删除文档时它们似乎仍在运行,这导致在尝试访问服务器中的模型时失败.

当我的应用程序创建用户时,他们存储在实例变量 @users = [] 中以便于访问。当我捕捉到这些异常时,我意识到变量仍然存在 @users.first.present? # => true 但其文档已被删除 @users.first.reload # => nil

我真的不明白问题出在哪里,因为不应该有额外的页面加载(可能是 Turbolinks/缓存在耍我),而且失败似乎真的不确定(失败 1/3 次,即使在不同的情况下)代码中的位置)

我宁愿避免设置 Capybara.raise_server_errors == false 尽管它很可能会修复那些测试的问题

我想知道你是否有类似的问题以及你是如何应对的......

最佳答案

不确定,您使用的数据库清理策略可能有问题

您的默认网络驱动程序和数据库清理策略是什么?

在场景或功能之前尝试@javascript 标签。它将使用 selenium 作为当前的网络驱动程序,默认使用数据库清理器“事务”策略。

关于ruby-on-rails - cucumber - 步骤结束后出现服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42714816/

相关文章:

asp.net-mvc - 如何在 asp.net mvc 中的 url 中添加页面标题? (网址生成)

ssl - 将网站从 HTTP 迁移到完全 HTTPS 和 SEO 影响

javascript - 如何在bot框架v4中实现触发 Action ?

ruby-on-rails - Rails 6 本地服务器启动 : RAILS_ENV=development environment is not defined

ruby-on-rails - 谁能告诉我 Rails 中这两种变量赋值方法的区别?

ruby-on-rails - 在 Dokku 上部署 Rails 时出错 - 在 Digital Ocean

ruby-on-rails - 设计回调

jquery - 如何创建一个所有数据都可以被谷歌索引的分页网格?

google-analytics - 谷歌分析 : sudden increase in pageviews

python - defer() 方法返回未知交互错误