我正在运行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,所以我不确定是否必须以某种方式在其上设置环境。
我是否有办法完全避免在测试环境中将电子邮件排队进入系统?
您可以在测试环境中运行服务器后清除sidekiq队列。或在测试环境中使用其他队列名称。
但是最主要的是,您永远不要在这种模式下运行服务器。对于测试,您应该使用单元测试或更好的rspec。