Rspec & FactoryGirl : 防止生成电子邮件
Rspec & FactoryGirl : prevent from generating emails
最近我在 运行 rspec 测试生成我的邮件程序视图时遇到错误,这让我意识到对于某些测试,由于工厂(例如我创建管理员 => 设计生成确认电子邮件)。
当测试的目的不是测试是否发送电子邮件时,有没有办法防止生成一些电子邮件?
您可以做几件事。首先,请确保您拥有:
config.action_mailer.delivery_method = :test
in config/environments/test.rb(我很确定这是默认设置)。这确保电子邮件不会 发送 。然而,这仍然会生成它们,然后将它们放在一个数组中 (ActionMailer::Base.deliveries
).
要阻止它们生成,您可以模拟您的邮件程序方法。类似于:
allow(MyMailer).to receive(:my_method).and_return { double("Mailer", :deliver => nil)}
最近我在 运行 rspec 测试生成我的邮件程序视图时遇到错误,这让我意识到对于某些测试,由于工厂(例如我创建管理员 => 设计生成确认电子邮件)。
当测试的目的不是测试是否发送电子邮件时,有没有办法防止生成一些电子邮件?
您可以做几件事。首先,请确保您拥有:
config.action_mailer.delivery_method = :test
in config/environments/test.rb(我很确定这是默认设置)。这确保电子邮件不会 发送 。然而,这仍然会生成它们,然后将它们放在一个数组中 (ActionMailer::Base.deliveries
).
要阻止它们生成,您可以模拟您的邮件程序方法。类似于:
allow(MyMailer).to receive(:my_method).and_return { double("Mailer", :deliver => nil)}