为啥水豚功能规格一起运行时会失败,仅对我而言。但分开时通过?

Posted

技术标签:

【中文标题】为啥水豚功能规格一起运行时会失败,仅对我而言。但分开时通过?【英文标题】:Why would capybara feature specs fail when run together, only for me. but pass when separately?为什么水豚功能规格一起运行时会失败,仅对我而言。但分开时通过? 【发布时间】:2015-11-02 16:40:38 【问题描述】:

这似乎是由于本地配置问题造成的,但我尝试过的没有任何帮助,我被卡住了。

当我运行名为“user_save_quote”的 rspec-capybara 功能规范时,我遇到了 5/8 次失败。但是,当我单独运行每个(失败的)行号时,它们会通过。此外,当其他开发人员完整运行此规范时,每个测试都会为他们通过。

我尝试了以下方法,但都没有帮助:

切换到 Firefox 驱动程序 正在删除我的 .bashrc 文件 从 Chrome 中删除 lastpass 从非 tmux 会话运行规范 使用和不使用 bundle exec 前缀运行 rake db:migraterake db:seedRAILS_ENV=test rake db:test:prepare 关闭所有应用程序并重新启动我的计算机

应用程序中的视觉行为是创建用户然后登录,但随后尝试执行这些操作似乎会挂起 10 秒然后失败。 我尝试切换到 Firefox 驱动程序,但没有帮助。

【问题讨论】:

【参考方案1】:

尝试将此添加到您的规范助手中。

这可能是因为用户已经创建了,并且对于下一个规范,您尝试再次创建它

config.before do
  DatabaseCleaner.start
end

config.after do
  DatabaseCleaner.clean
end

如果您使用它,请检查您的工厂,添加sequence

FactoryGirl.define do
  factory :user do |f|
    f.sequence(:name)  |n| "sir-#n-#rand(99999)" 
    f.sequence(:email)  |n| "sir#n#rand(99999)@example.com" 
end

【讨论】:

以上是关于为啥水豚功能规格一起运行时会失败,仅对我而言。但分开时通过?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 POST 请求仅对我的 API 不起作用?

为啥企业微信创建企业失败

为啥 Web 部件在第一次添加到页面时会在构造函数上失败?

为啥此查询在 ODBC 表上运行但在本地表上运行时会失败?

为啥黄瓜和水豚叫那个?

浏览器中的水豚场景