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'
我想这是因为该方法只适用于邮寄可用的测试。
有没有办法让控制器测试也可以使用它?有没有一个很好的理由为什么默认情况下不可用?有没有更好的方法来测试调用特定路线导致发送电子邮件?
谢谢。