ну, это должно работать. я обнаружил некоторые неправильные конфигурации в моем приложении.
проверьте ваш тест env. Вы должны установить:
Staffomatic::Application.configure do
...
config.action_mailer.delivery_method = :test
config.action_mailer.default_url_options = { :host => "example.com" }
end
я добавил строку в модуль макросов почтовой программы из Railscast, чтобы отработать Delayed :: Job:
module MailerMacros
def last_email
Delayed::Worker.new.work_off
ActionMailer::Base.deliveries.last
end
def reset_email
Delayed::Job.destroy_all
ActionMailer::Base.deliveries = []
end
end
Теперь вы можете проверить с помощью:
last_email.to.should include(user.email)
ваше последнее письмо.
довольно просто!
пс. если у вас установлен удивительный гем mail_safe
, убедитесь, что его нет в тестовой среде!