From df6fa9f9d47e70180a4f329c3eca245ecea08a78 Mon Sep 17 00:00:00 2001 From: Dominik Sander Date: Tue, 11 Apr 2017 22:43:35 +0200 Subject: [PATCH] Remove database_cleaner gem In Rails 5.1 transactional tests share the same connection id between the webserver and test runner. This removes the need for special cleanup strategies. This speeds up the tests significantly, before: ``` Finished in 3 minutes 30.3 seconds (files took 5.46 seconds to load) ``` After: ``` Finished in 1 minute 41.61 seconds (files took 5.45 seconds to load) ``` https://github.com/rails/rails/pull/28083 --- Gemfile | 1 - Gemfile.lock | 2 -- spec/capybara_helper.rb | 7 ------- spec/rails_helper.rb | 2 +- 4 files changed, 1 insertion(+), 11 deletions(-) diff --git a/Gemfile b/Gemfile index 1a843465..ec91a543 100644 --- a/Gemfile +++ b/Gemfile @@ -163,7 +163,6 @@ group :development do gem 'shoulda-matchers' gem 'vcr' gem 'webmock', '~> 1.17.4', require: false - gem 'database_cleaner', '~> 1.5.3' end end diff --git a/Gemfile.lock b/Gemfile.lock index 5b23cf5d..aedca8cf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -179,7 +179,6 @@ GEM crack (0.4.2) safe_yaml (~> 1.0.0) daemons (1.1.9) - database_cleaner (1.5.3) debug_inspector (0.0.2) delorean (2.1.0) chronic @@ -620,7 +619,6 @@ DEPENDENCIES coffee-rails (~> 4.2) coveralls (~> 0.7.4) daemons (~> 1.1.9) - database_cleaner (~> 1.5.3) delayed_job! delayed_job_active_record! delorean diff --git a/spec/capybara_helper.rb b/spec/capybara_helper.rb index f0d7c8a3..03195ec7 100644 --- a/spec/capybara_helper.rb +++ b/spec/capybara_helper.rb @@ -19,16 +19,9 @@ RSpec.configure do |config| config.before(:suite) do Warden.test_mode! - DatabaseCleaner.clean_with(:truncation) - end - - config.before(:each) do |example| - DatabaseCleaner.strategy = example.metadata[:js] ? :truncation : :transaction - DatabaseCleaner.start end config.after(:each) do - DatabaseCleaner.clean Warden.test_reset! end end diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 8d97bdfe..ad3a5d7d 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -38,7 +38,7 @@ RSpec.configure do |config| # If you're not using ActiveRecord, or you'd prefer not to run each of your # examples within a transaction, remove the following line or assign false # instead of true. - config.use_transactional_fixtures = ENV['RSPEC_TASK'] == 'spec:nofeatures' + config.use_transactional_fixtures = true # rspec-rails 3 will no longer automatically infer an example group's spec type # from the file location. You can explicitly opt-in to this feature using this