我的Rails 3.1应用程序中有以下spec_helper.rb文件.我正在使用Spork加载环境以便进行测试.在将Spork添加到混合物之前,我的所有测试都有效.添加spork之后,测试数据库在测试运行之间没有得到适当的清除,这导致了我的一些期望.
按照其他说明,我将database_cleaner添加到下面列出的代码中;但是,现在,开发数据库以及测试数据库正在被清理. ENV [“RAILS_ENV”]呼叫在此呼叫期间返回测试.
有没有办法明确限制对DatabaseCleaner.clean_with(:truncation)的调用只影响测试数据库?
- require 'rubygems'
- require 'spork'
- Spork.prefork do
- ENV["RAILS_ENV"] ||= 'test'
- require File.expand_path("../../config/environment",__FILE__)
- require 'rspec/rails'
- require 'shoulda/matchers/integrations/rspec'
- require 'database_cleaner'
- Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
- RSpec.configure do |config|
- config.mock_with :mocha
- config.formatter = 'documentation'
- config.use_transactional_fixtures = true
- config.before(:suite) do
- DatabaseCleaner.strategy = :truncation
- end
- config.before(:each) do
- DatabaseCleaner.start
- end
- config.after(:each) do
- DatabaseCleaner.clean
- end
- end
- end
- Spork.each_run do
- FactoryGirl.reload
- end
更新:这是我的database.yml文件