1

我已经:js => true在我的项目中添加了一些测试,并且必须集成database_cleanergem 才能使其工作。现在我的测试,即使是不使用数据库的测试也大大减慢了速度。有没有办法跳过模拟/非基于数据库的测试的数据库访问?

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
4

1 回答 1

0

只有在需要时才能使用 DatabaseCleaner

spec_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
于 2012-12-15T20:01:51.183 回答