使用RSpec和Action Mailer进行测试:清除已排队的电子邮件?

问题描述 投票:0回答:1

Active Job Test Helper提供了有用的方法clear_enqueued_jobs。

Action Mailer是否有相应的功能来清除已排队的电子邮件?

ruby-on-rails rspec actionmailer rails-activejob
1个回答
1
投票

是的,您可以在每次测试之前配置rspec以清除邮件程序,例如:

RSpec.configure do |config|
  config.before(:each) do
    ActionMailer::Base.deliveries.clear
  end
end

对于入队邮件,Active Job Test Helper包含在ActiveMailer :: TestHelper中,因此您也应该能够使用clear_enqueued_jobs方法。

资料来源:https://github.com/rails/rails/blob/94b5cd3a20edadd6f6b8cf0bdf1a4d4919df86cb/actionmailer/lib/action_mailer/test_helper.rb#L9

© www.soinside.com 2019 - 2024. All rights reserved.