我有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