在我的Rails 3.1的项目有一个奇怪的行为的ActionMailer的的ActionMailer :: Base.deliveries是在试空,而我实际上可以通过运行轨道控制台代码接收电子邮件.任何人都可以指出它是什么错误?
# spec/mailers/user_mailer_spec.rb
require "spec_helper"
describe UserMailer do
describe ".reminding_email" do
subject { UserMailer.reminding_email(user).deliver }
let(:user) { create :confirmed_user_with_mass_tasks }
it "should be delivered" do
ActionMailer::Base.deliveries.should_not be_empty
end
its(:to) { should == [user.email] }
its(:subject) { should == "Task Reminding" }
end
end
# app/mailers/user_mailer.rb
class UserMailer < ActionMailer::Base
layout "email"
default from: Rails.env.production? ? "<production>@gmail.com" : "<test>@gmail.com"
def reminding_email(user)
@tasks = user.tasks.reminding_required
@current = Time.current
mail(to: user.email, subject: "Task Reminding")
end
end
Run Code Online (Sandbox Code Playgroud)
失败:
1)应该传递UserMailer.reminding_email失败/错误:ActionMailer :: Base.deliveries.should_not …