我有2个_spec文件:第一个包含单元测试,另一个包含一些集成测试。Rspec测试失败如果一起运行
通过指定文件名来运行它们时,它们是绿色的,当它们作为“rspec”运行时,其中3个失败。
我正在使用database_cleaner gem来清理每个测试周围的测试数据库。
config.use_transactional_fixtures = false
config.before(:suite) do
DatabaseCleaner.strategy = :transaction
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
我使用“let”来实例化对象和FactoryGirl来创建示例对象。
有没有人遇到过这样的事情?
这听起来像数据库没有在测试之间正确重置 - 您可能可以验证这是什么情况下确切的失败(即如果您正在检查集合大小和有多余的元素) 。 它也可能是测试之间的合法冲突 - 它取决于故障是什么,以及故障是否依赖于顺序。 – oowowaee
@oowowaee我已经修复了从def移动到实例化对象。现在按预期工作,DatabaseCleaner也是如此 – matteoredz