【发布时间】:2015-01-22 21:53:28
【问题描述】:
我的规格:
context 'with valid data' do
describe 'refers other users' do
before(:each) do
post '/shop/referrals', valid_referral_params
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.deliveries.clear
end
def valid_referral_params
{ "shop_referral"=>{"sender_email"=>"sender@hotmail.com", "receiver_email_one"=>"myfriend@hotmail.com",
"receiver_email_two"=>"myfriendd@hotmail.com", "receiver_email_three"=>"myfriendddddd@hotmail.com"}, format: :json }
end
end
以下测试未通过:
it { expect(ActionMailer::Base.deliveries.size).to eq 4 }
我几乎发送了 4 封电子邮件,目前是 expected 4 got 0,当我删除 ActionMailer::Base.deliveries.clear 时,我会收到 expected 4 got 12
来自我的模型:
def send_notifications
ReferralMailer.referral_sender_email(sender_email).deliver!
reciever_email_collection.each do |email|
ReferralMailer.referral_receiver_email(email).deliver!
end
end
和
reciever_email_collection = [myfriend1@hotmail.com, myfriend2@hotmail.com, myfriend3@hotmail.com]
还有config.action_mailer.delivery_method = :test 在配置中。
任何帮助将不胜感激。谢谢!
【问题讨论】:
标签: ruby-on-rails json rspec