1

プロジェクトにいくつかの:js => trueテストを追加しましdatabase_cleanerたが、それを機能させるために宝石を統合する必要がありました。現在、私のテストは、データベースを使用していないテストでもかなり遅くなりました。モック/非 db ベースのテストでデータベース アクセスをスキップする方法はありますか?

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 に答える