我有在测试模式下使用Rails发送邮件略显奇怪的问题测试模式的ActionMailer发送电子邮件3在轨道3
看来,我的邮件程序不返回任何东西。例如,我有一个名为UserMailer的邮件程序。用户可以做出需要批准的应用程序的变化所以这也被称为changes_approved方法应该向用户发送一封电子邮件,通知他们,他们的变化已经approved.class
UserMailer < ActionMailer::Base
default :from => "[email protected]"
def changes_approved(user, page)
@user = user
@page = page
mail(:to => user.email, :subject => "Your changes have been approved")
end
end
在我的控制器我有以下行
UserMailer.changes_approved(@page_revision.created_by, @page_revision.page).deliver
但是我的测试失败,在这一点上,出现错误:
未定义的方法'提供”的零:NilClass
当我在开发网站tho(http:// localhost:3000通过浏览器)触发相同的操作时,电子邮件被正确发送并且一切都很顺利
并且为了进一步增加混淆,我正在使用设计用于身份验证,而且在测试和开发模式下,这些电子邮件似乎都能正常工作。当然,我没有得到这个相同的错误,根据我的电子邮件规范测试,所有工作
因此,这导致我相信我有一个问题,什么。任何建议,将不胜感激
感谢
完美。谢谢。这正是你如何得到你的[RSpec](https://github.com/dchelimsky/rspec)+ [email_spec](https://github.com/bmabey/email-spec)+ [Delayed :: Job]( https://github.com/collectiveidea/delayed_job)规范传递。使用[无工作](https://github.com/lostboy/workless)根据需要在本地和Heroku上动态调整工作人员。 – chadoh 2011-05-14 14:02:26