我已经为我的项目添加了一些:js => true
测试,并且必须集成database_cleaner
gem才能使其正常工作。现在我的测试,即使是那些不使用数据库的测试也会大大减慢。有没有办法跳过基于模拟/非基于数据库的测试的数据库访问?
spec_helper.rb
的相关部分 config.before(:suite) do
DatabaseCleaner.strategy = :truncation
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
答案 0 :(得分:0)
只有在需要
时才能使用DatabaseCleanerspec_helper.rb
config.before(:suite) do
DatabaseCleaner.strategy = :truncation
end
config.before(:each) do
if :without_db != example.metadata[:type]
DatabaseCleaner.start
end
end
config.after(:each) do
if :without_db != example.metadata[:type]
DatabaseCleaner.clean
end
end
user_spec.rb
describe User, :type => :without_db do
it 'should be valid' do
should be_valid
end
end