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

目前,我的本地开发环境设置为能够发送实际的电子邮件。 因此,正在进行交付,并且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'] } ... 

谢谢

  config.action_mailer.delivery_method = :test 

要么

就在测试之前

 ActionMailer::Base.delivery_method = :test