带有AR-Octopus的Database_Cleaner没有清理记录

时间:2016-06-24 14:42:50

标签: ruby-on-rails database-cleaner octopus

我们有一个使用分片数据库的AR-Octopus gem项目。我们遇到的问题是gem'database_cleaner'在使用此设置时没有清理记录,因为我们在测试数据库中始终有剩余的记录导致我们的测试套件出现问题。

我发现了这个GitHub要点 - https://gist.github.com/nowlinuxing/22ea0ab673a5622eb48d

这是我的database_cleaner配置文件

# spec/support/database_cleaner.rb

require 'database_cleaner'

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

  ["master", *Octopus.config[Rails.env].keys].each do |shard|
    DatabaseCleaner[:active_record, model: ActiveRecord::Base.using(shard)]
  end

  config.around(:each) do |example|
   DatabaseCleaner.cleaning do
    example.run
   end
  end
 end

有没有人遇到过这个问题?如果是这样,你做了什么来解决这个问题?只是寻找一些有用的见解。

0 个答案:

没有答案