Я учил, что с параметром, подобным delivery_method = :test
в моем config/environments/test.rb
, я не должен получать никаких писем при выполнении моих тестов Rspec:
конфиг / окружающая среда / test.rb:
config.action_mailer.delivery_method = :test
Но в моих тестах, когда я создаю пользователя с FactoryGirl и у него есть обратный вызов after_save
, который отправляет уведомление о регистрации, это письмо будет отправлено:
myspec.rb:
user = FactoryGirl.create(:user, :login => 'johndoe')
user_observer.rb:
class UserObserver < ActiveRecord::Observer
def after_create(user)
UserMailer.signup_notification(user).deliver
end
end
action_mailer.rb:
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "...",
:port => "25",
:domain => "...",
:user_name => "...",
:password => "...",
:authentication => :plain
}
Что может быть не так?
Я использую:
- Рельсы 3.2.2
- сборка ActionMailer
- RSpec-Rails
- FactoryGirl
- Guard