为啥水豚功能规格一起运行时会失败,仅对我而言。但分开时通过?
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:migrate
、rake db:seed
和 RAILS_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
【讨论】:
以上是关于为啥水豚功能规格一起运行时会失败,仅对我而言。但分开时通过?的主要内容,如果未能解决你的问题,请参考以下文章