Rspec不删除2个特定表

时间:2011-03-13 14:22:00

标签: mysql ruby-on-rails ruby-on-rails-3 rspec rspec2

我正在使用Rspec来测试rails应用程序。 我有2个表导入数据(测试和开发数据库)

整个应用程序依赖于表数据,这意味着整个功能是匹配,计算和测量该表中的数据并将其放入其他表中。

所以,在测试时,删除这些表的数据是没有意义的,但Rspec仍在从中删除数据。

我的问题是: 如何强制Rspec不删除这些表中的数据(永远不会)?

我的规范帮助文件

require 'rubygems'
require 'spork'

Spork.prefork do

end

Spork.each_run do

end


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

Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

RSpec.configure do |config|
  config.mock_with :rspec

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

  config.use_transactional_fixtures = true
end

1 个答案:

答案 0 :(得分:1)

解决方案是 在spec_helper.rb文件中我应该改变这个

  config.use_transactional_fixtures = true

到这个

  config.use_transactional_fixtures = false

在我需要清理数据库的测试中,我使用delete_all或者database_cleaner手动清理它(对你来说很方便)

这解决了我的问题,并使数据库在测试中保持不变。