rails Action Mailer perform_deliveries = false不起作用

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

我正在运行Rails 5.1.0

config/environments/test中,我有config.action_mailer.perform_deliveries = false

我正在使用-e test运行Rails服务器以端对端进行测试。

当我将服务器切换回开发环境时,它将加载一个新的浏览器选项卡,以呈现测试期间未发送的所有电子邮件。如果我运行测试5-6次,那么当我切换回开发时,这将立即打开50个浏览器选项卡。

对于perform_deliveries Rails docs说:

如果此值为假,即使delivery_method是:test。

我也在运行sidekiq和redis,所以我不确定是否必须以某种方式在其上设置环境。

我是否有办法完全避免在测试环境中将电子邮件排队进入系统?

ruby-on-rails ruby-on-rails-5 end-to-end
1个回答
0
投票

您可以在测试环境中运行服务器后清除sidekiq队列。或在测试环境中使用其他队列名称。

但是最主要的是,您永远不要在这种模式下运行服务器。对于测试,您应该使用单元测试或更好的rspec

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