Rspec 水豚测试在一组运行时失败,但在单独运行时成功
当使用Rspec 水豚测试在一组运行时失败,但在单独运行时成功,rspec,capybara,Rspec,Capybara,当使用bundle exec rspeccapybara在一堆中运行我的所有规范时,它一直告诉我,它无法在页面上的测试数量中找到元素 使用bundle exec rspec spec/features/feature_spec.rb一切正常 我尝试使用capybara屏幕截图gem对其进行调试,但使用该gem,所有规范实际上都运行良好。 所以我很好奇到底发生了什么 UPD 这是我的配置的一部分: config.before(:suite) do DatabaseCleaner.cle
bundle exec rspec
capybara在一堆中运行我的所有规范时,它一直告诉我,它无法在页面上的测试数量中找到元素
使用bundle exec rspec spec/features/feature_spec.rb
一切正常
我尝试使用capybara屏幕截图gem对其进行调试,但使用该gem,所有规范实际上都运行良好。
所以我很好奇到底发生了什么
UPD
这是我的配置的一部分:
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
if Capybara.current_driver == :rack_test # http://bit.ly/YZzrY5
DatabaseCleaner.strategy = :transaction
else
DatabaseCleaner.strategy = :truncation
end
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
您可能想看看您是否在使用selenium或capybara webkit?如果是这样的话,您可能需要使用截断策略而不是事务。@RobertH,请看我上面的配置。我刚刚遇到了这个问题,我有一些功能测试的竞争条件,这些测试将重新创建相同的Desive用户。确保您的测试不会互相干扰。除了@tiradc提出的建议之外,rspec中的“-bisect”标志在确定哪些未失败的测试可能是套件/个人成功与失败之间差异的原因时非常重要: