为什么Rspec在“ bundle exec rake spec”上清理数据库?

时间:2019-07-17 16:37:29

标签: ruby-on-rails postgresql testing rspec

我不明白奇怪的事情。 我的Postgresql数据库中有200个项目的表

psql: \c app_test; SELECT COUNT(*) FROM items -->200

将rspec rspec-rails gem安装在rails中并执行

RAILS_ENV=test bundle exec rake spec

...

psql: \c app_test; SELECT COUNT(*) FROM items -->0

似乎正在清洗(清除)DB。为什么?

宝石文件

group :development, :test do
  gem 'pry-nav', '>= 0.2.3'
  gem 'pry-rails', '>= 0.2.2'
  gem 'letter_opener'
  gem 'factory_girl_rails', '4.2.1'
  gem 'awesome_print'
  gem 'byebug'
  gem 'rspec-rails', '~> 3.8'
end

rails_helper.rb

require 'spec_helper'
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)

abort("The Rails environment is running in production mode!") if Rails.env.production?
require 'rspec/rails'


RSpec.configure do |config|

  config.fixture_path = "#{::Rails.root}/spec/fixtures"


  config.use_transactional_fixtures = true

  config.infer_spec_type_from_file_location!

  config.filter_rails_from_backtrace!

end

spec_helper.rb

RSpec.configure do |config|

  config.expect_with :rspec do |expectations|

    expectations.include_chain_clauses_in_custom_matcher_descriptions = true
  end

  config.mock_with :rspec do |mocks|

    mocks.verify_partial_doubles = true
  end

  config.shared_context_metadata_behavior = :apply_to_host_groups

end

0 个答案:

没有答案