0
有沒有人遇到類似的問題?數據庫清理程序不應該刪除數據
我有一個控制器,這將觸發郵件交付:
def create
create! do |success, failure|
success.js do
CandidateMailer.donation_notification(current_candidate).deliver
end
end
end
而我得到的郵件:
def donation_notification(candidate)
puts Candidate.count # note: during test - count of candidates is 0
@candidate = candidate
email_with_name = "#{@candidate.profile.name} <#{@candidate.email}>"
mail(to: email_with_name, subject: 'New Donation Received!')
end
我不明白爲什麼數據庫清理刪除所有數據前測試是實際完成。
這是一個JS測試(使用Webkit),如果這很重要的話。
這裏是我的配置:
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner.clean_with :truncation
end
config.before(:each) do
if Capybara.current_driver == :rack_test
DatabaseCleaner.strategy = :transaction
else
DatabaseCleaner.strategy = [:truncation, { pre_count: true }]
end
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
end
如果您可以分享rspec示例,那將會很有幫助。 –