【发布时间】:2016-05-24 20:02:08
【问题描述】:
我尝试使用此How do I test Pony emailing in a Sinatra app, using rspec? 来测试发送电子邮件的 Rails 3.1 应用程序。发送工作正常,但我很难让测试正常工作。这是我到目前为止所拥有的......
spec/spec_helper.rb
config.before(:each) do
do_not_send_email
end
.
.
.
def do_not_send_email
Pony.stub!(:deliver) # Hijack to not send email.
end
在我的 users_controller_spec.rb 中
it "should send a greeting email" do
post :create, :user => @attr
Pony.should_receive(:mail) do |params|
params[:to].should == "nuser@gmail.com"
params[:body].should include("Congratulations")
end
end
我明白了……
失败:
1) UsersController POST 'create' 成功应该发送一封问候邮件 失败/错误:Pony.should_receive(:mail) do |params| (小马).mail(任何参数) 预计:1次 收到:0次 # ./spec/controllers/users_controller_spec.rb:121:in `block (4 levels) in '
看起来 Pony 没有收到电子邮件,但我知道真正的电子邮件正在发送出去。
有什么想法吗?
【问题讨论】:
标签: ruby-on-rails-3 rspec pony