gpt4 book ai didi

ruby-on-rails - RSpec 发送电子邮件(不存储在 ActionMailer::Base.deliveries 中) - 不知道为什么?

转载 作者:行者123 更新时间:2023-12-04 02:48:58 24 4
gpt4 key购买 nike

我使用 rspec,当我运行 rake spec 时,用户邮件程序通过 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……

关于ruby-on-rails - RSpec 发送电子邮件(不存储在 ActionMailer::Base.deliveries 中) - 不知道为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3995994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com