Rake在运行RSpec时不会创建Mailer模板

时间:2015-09-29 15:56:47

标签: ruby-on-rails testing rspec rake

在我们的项目中,我们有rake任务,可以在数据库中创建邮件模板。 在运行所有specs时,其中一些人没有说某些邮件的db记录不存在。 关于这可能是什么原因以及如何解决它的任何想法?

这里是创建Mailer模板的任务示例。

desc "Creates mailer templates"
task create_mailers: :environment do

  MailerTemplate.delete_all

  I18n.available_locales.each do |locale|
    MailerTemplate.create(locale: locale, mailer: "info#action", content: %{<p>Content</p>})
  end
end

这是我的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

0 个答案:

没有答案