Rails rspec测试在Docker和CI中失败

时间:2015-09-22 10:04:57

标签: ruby-on-rails postgresql unit-testing rspec-rails database-cleaner

当我运行rspec localy时,所有规格都会通过。

当我在 Docker CI 中运行所有规格时,它们会失败。然而,当我孤立地运行它们时,它们会通过。 另外要提到的是,每当我有不同的规格集失败时。

环境设置:

ruby 2.2.2
rails 4.2.0
postgres 9.3
(using ActiveRecord)
gems:
    database_cleaner 1.4.1
    fabrication 2.14.0
    faker 1.4.3

问题可能出在database_cleaner设置。

# database_cleaner.rb
RSpec.configure do |config|
  config.before(:suite) do
    DatabaseCleaner.clean_with(:deletion)
    Rake::Task["create_mailers"].invoke
  end

  config.around(:each) do |example|
    DatabaseCleaner.strategy = example.metadata[:js] ? :deletion: :transaction
    DatabaseCleaner.cleaning do
      example.run
    end
  end

  config.after(:each) do
    Capybara.reset_sessions!
    DatabaseCleaner.clean
  end
end

所以我的问题是,如何让我的测试通过 Docker CI

0 个答案:

没有答案