测试“ ActionMailer :: Base.deliveries.size”是什么意思?

时间:2018-11-06 12:43:48

标签: ruby-on-rails rspec

要使用rspec测试Rails动作邮件程序代码,通常需要像下面这样检查ActionMailer :: Base.deliveries.size:

it "sends an email successfully" do
  expect { mail.deliver_now }.to change { ActionMailer::Base.deliveries.size }.by(1)
end

此测试的含义是什么?通过此测试我们可以找到哪种类型的错误?

IMO,一旦我调用了delivery方法,邮件将自动发送,这是ActionMailer的责任吗?为什么我们需要在测试代码中测试ActionMailer功能?

0 个答案:

没有答案