私は2つの_specファイルを持っています。最初のユニットテスト、もう1つは統合テストです。すべてが一緒に実行されていると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からobjectをインスタンス化するletへ移動することで修正しました。今は期待どおりに動作しており、DatabaseCleanerの場合も同じです – matteoredz