在我们的项目中,我们有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