2
按照Rails documentation,方法assert_emails
允許變換語法:NoMethodError:在控制器測試未定義的方法`assert_emails'
assert_difference ->{ ActionMailer::Base.deliveries.size }, +1 do
post :method_that_should_send_email
end
到
assert_emails 1 do
post :method_that_should_send_email
end
,我覺得好多了,因爲我不必每次都複製粘貼冗長的語法。
不過,我得到以下錯誤在我的控制器使用的測試上面的代碼時:
NoMethodError: undefined method `assert_emails'
我想這是因爲該方法只適用於郵寄可用的測試。
有沒有辦法讓控制器測試也可以使用它?有沒有一個很好的理由爲什麼默認情況下不可用?有沒有更好的方法來測試調用特定路線導致發送電子郵件?
謝謝。