告诉 RspeC语言 在运行测试之前不要删除我的test_db



我填充了一个数据库,我想对它运行rspec测试。

Rspec似乎在开始测试之前删除了db。我怎么能告诉Rspec不删除这个test_db?

我在Rails/Rspec环境之外填充db。要构建构建数据库所需的所有工厂对于项目范围来说是不切实际的,但我想对现有的DB进行测试。

你可以使用database cleaner gem来清理你的数据库,并且文档建议rspec使用以下配置作为这个链接,但是你可以这样做:

RSpec.configure do |config|
  config.before(:suite) do
    DatabaseCleaner.strategy = :transaction
    DatabaseCleaner.clean_with(:truncation)
  end
end

但是,我更喜欢在场景之前的测试环境中创建数据库,例如:

describe "specific name for this scenario" do
  before do
    @object = create(:object) # using factory girl as example
  end
end

因此,每次运行测试用例时都会生成该数据,请阅读有关为respect -test创建数据的更多信息。

我使用了这个问题中给出的建议:Rspec不要删除两个特定的表

在spec_helper.rb:

注释掉对truncate_all_tables的调用。

config.use_transactional_fixtures = true

config.use_transactional_fixtures = false

最新更新