大きなテストデータベースを使用しているいくつかのテストがあります。また、Database Cleaner を使用して、各テスト後にデータベースをクリーンアップしています。そして、ここで問題が発生します。私のスペックヘルパーにはこれがあります
config.around(:each) do |example|
MongoLib.new(database: "#{Rails.env}_sensor_data").drop_tables!
DatabaseCleaner.cleaning do
example.run
end
end
しかし、ここで問題です。上記のテストのグループ (大きなグループ) は、この大きなデータベースを何度も (テストごとに 1 回) 生成してドロップします。これには長い時間がかかり、これらのテストではデータベースがまったく変更されないため、毎回データベースをクリーンアップして作成する必要はありません。
それで、このようなことをする方法はありますか:
it 'something', argument do
#testing
end
したがって、仕様ヘルパーでは、次のようなことができます。
config.around(:each) do |example|
MongoLib.new(database: "#{Rails.env}_sensor_data").drop_tables!
if example.argument?
DatabaseCleaner.cleaning do
example.run
end
end
end
それとも、その問題に対する他の解決策がありますか?何か案は?