1
我有一個帶有一個數組的方法的ActionMailer,它爲該數組中的每個項目發送一封電子郵件。我想在測試中檢查ActionMailer::Base.deliveries
以查看是否發送了正確的電子郵件。首先,我檢查發送的電子郵件數量:ActionMailer :: Base.deliveries有最後一封電子郵件N次
ActionMailer::Base.deliveries.size.should be == my_array.size
是的,斷言按預期通過。
但ActionMailer::Base.deliveries
似乎已經發送了最後一封電子郵件的所有克隆。手動測試使我確信ActionMailer::Base.deliveries
對我說謊 - 實際上發送了唯一的電子郵件,而不是最後一次發送N次。我不理解什麼嗎?
我在Rails 4中遇到了同樣的問題。我在我的模型中發送了2封郵件,它們確實不同,但是在測試中,我在deliveries數組中收到了2封完全相同的郵件:'''mail(to:@owner .email,主題:t('booking_canceled.action'),template_name:「booking_canceled_to_owner」)。deliver! mail(to:@ booker.email,subject:t('booking_canceled.action'),template_name:「booking_canceled_to_booker」)。deliver!''' – luigi7up 2015-03-29 10:04:56