Bläddra i källkod

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
Dominik Sander 8 år sedan
förälder
incheckning
df6fa9f9d4
4 ändrade filer med 1 tillägg och 11 borttagningar
  1. 0 1
      Gemfile
  2. 0 2
      Gemfile.lock
  3. 0 7
      spec/capybara_helper.rb
  4. 1 1
      spec/rails_helper.rb

+ 0 - 1
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
 

+ 0 - 2
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

+ 0 - 7
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

+ 1 - 1
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