【发布时间】:2016-05-18 09:34:15
【问题描述】:
我有一些使用大型测试数据库的测试。我还在每次测试后使用 Database Cleaner 来清理数据库。问题来了。 在我的规范助手中,我有这个
config.around(:each) do |example|
MongoLib.new(database: "#{Rails.env}_sensor_data").drop_tables!
DatabaseCleaner.cleaning do
example.run
end
end
但是,问题来了。提到的一组测试(一个大组)一遍又一遍地生成和删除这个大数据库(每个测试一次)。这需要很长时间,而且那些测试根本不会改变数据库,所以我真的不想每次都清理和创建数据库。
那么,有没有办法做这样的事情:
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
或者该问题是否有其他解决方案?有什么想法吗?
【问题讨论】:
标签: ruby-on-rails rspec rspec-rails database-cleaner