Closed
Description
Hi.
DatabaseCleaner cleans my development database instead of test
I have tried all possible configurations.
And I still have this problem.
database_cleaner 1.6.2
Rails: 5.1.5
Ruby 2.5
Gemfile:
group :development, :test do
gem "byebug", platforms: [:mri, :mingw, :x64_mingw]
gem "factory_bot_rails", "~> 4.8", ">= 4.8.2"
gem "figaro"
gem "faker", "~> 1.8", ">= 1.8.4"
end
group :development do
gem "web-console", ">= 3.3.0"
gem "listen", ">= 3.0.5", "< 3.2"
gem "spring"
gem "spring-watcher-listen", "~> 2.0.0"
gem "pry-rails", "~> 0.3.6"
gem "better_errors"
gem "binding_of_caller"
end
group :test do
gem "capybara"
gem "selenium-webdriver"
gem "simplecov", "~> 0.15.1", :require => false
gem "shoulda-matchers", "~> 3.1", ">= 3.1.2"
gem "database_cleaner"
gem "rspec-rails", "~> 3.7", ">= 3.7.2"
end
in rails_helper i have forced env to test:
ENV['RAILS_ENV'] = "test"
DatabaseCLeaner conf file ( i have tried all posible combinations for configuration:
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.strategy = :transaction
end
config.before(:each, js: true) do
DatabaseCleaner.strategy = :truncation
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
end
From tests when i print ENV i get TEST env but each time after test my development database is cleaned and test database is not used:
p ENV["RAILS_ENV"] #=> "test"
database config file have default configuration for test:
test:
<<: *default
database: appname_test
username: <%= ENV["DATABASE_USER"] %>
password: <%= ENV["DATABASE_PASSWORD"] %>
reconnect: true
Any idea where to look to fix this bug ?
**after executing the rspec command all the data in my development database is deleted **
Thx
Metadata
Metadata
Assignees
Labels
No labels