我使用rspec,当我运行rake规范时,用户邮件程序通过smtp发送电子邮件,而不是将电子邮件存储在ActionMailer :: Base.deliveries-array中(由用户观察者调用)…
你能给我一个提示吗?
# Rails version rails -v => Rails 3.0.1 # Ruby version with rvm (rvm version 1.0.16) ruby -v => ruby 1.9.2p7 (2010-09-29 revision 29373) [x86_64-darwin10.4.0] # Gemfile gem "rspec-rails",">= 2.0.1"
配置-文件:
# config/environments/test.rb MyApp::Application.configure do config.action_mailer.delivery_method = :test config.action_mailer.raise_delivery_errors = true end # spec/spec_helper.rb ... ENV["RAILS_ENV"] ||= 'test' ... # app/models/user_observer.rb class UserObserver < ActiveRecord::Observer observe User def after_create(record) puts Rails.env # => "test" UserMailer.new_user_notification(record).deliver puts ActionMailer::Base.deliveries.inspect # => [] # Sends it via smtp! end end
解决方法
我太笨了……在我的setup_mail.rb-initializer中有“ActionMailer :: Base.delivery_method =:smtp”…… AAARGH ….
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。