在开发黄瓜测试时是否可以关闭ActionMailer电子邮件?

时间:2012-05-15 21:29:27

标签: ruby-on-rails cucumber

目前,我的本地开发环境已设置为能够发送实际的电子邮件。因此,正在进行交付,ActionMailer::Base.deliveries表中没有任何内容。是否可以在黄瓜测试中禁用电子邮件发送?如果是这样,这样做的语法是什么?或者有更好的方法来测试发送的电子邮件吗?

authentication_steps.rb:

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

应用程序/配置/ 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']
                                           }
  ...

由于

1 个答案:

答案 0 :(得分:10)

 config.action_mailer.delivery_method = :test

在测试之前

ActionMailer::Base.delivery_method = :test
相关问题