2012-05-15 2 views
5

Derzeit ist meine lokale Entwicklungsumgebung so eingerichtet, dass sie tatsächlich E-Mails versenden kann. Aus diesem Grund werden Lieferungen durchgeführt, und in der Tabelle ActionMailer::Base.deliveries wird nichts gespeichert. Ist es möglich, E-Mail-Versand in Gurken-Tests zu deaktivieren? Wenn ja, wie lautet die Syntax dafür? Oder gibt es eine bessere Möglichkeit, gesendete E-Mails zu testen?Ist es möglich, ActionMailer E-Mails zu deaktivieren, wenn während der Entwicklung Gurken getestet werden?

authentication_steps.rb:

Then /^I should receive a confirmation email$/ do 
    email = ActionMailer::Base.deliveries.last 
    email.subject.should == "Welcome to our website!" 
end 

app/config/development.rb

... 
    # Don't care if the mailer can't send 
    config.action_mailer.raise_delivery_errors = true 
    config.action_mailer.perform_deliveries = true 

    # Setup for local testing of emails using gmail test account 
    config.action_mailer.delivery_method = :smtp 
    config.action_mailer.smtp_settings = { :address => 'smtp.sendgrid.net', 
              :port => 587, 
              :domain => ENV['MAIL_DOMAIN'], 
              :authentication => 'plain', 
              :enable_starttls_auto => true, 
              :user_name => ENV['MAIL_USERNAME'], 
              :password => ENV['MAIL_PASSWORD'] 
              } 
    ... 

Dank

Antwort

10
config.action_mailer.delivery_method = :test 

oder

nur testet, bevor

ActionMailer::Base.delivery_method = :test 
Verwandte Themen