Rspec 不删除 2 个特定表

2024-04-07

我正在使用 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

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

  config.use_transactional_fixtures = true

to this

  config.use_transactional_fixtures = false

在我确实需要清理数据库的测试中,我使用delete_all或database_cleaner手动清理它(无论你方便什么)

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rspec 不删除 2 个特定表 的相关文章

随机推荐