【发布时间】:2020-01-15 15:43:20
【问题描述】:
我正在运行 rails 5.1.0
在config/environments/test,我有config.action_mailer.perform_deliveries = false。
我正在运行带有-e test 的 Rails 服务器来执行端到端测试。
当我将服务器切换回开发环境时,它会加载一个新的浏览器选项卡,呈现在我的测试期间未发送的每封电子邮件。如果我运行测试 5-6 次,当我切换回开发时,这会导致 50 个浏览器选项卡同时打开。
对于perform_deliveries Rails docs 说:
如果此值为 false,则不会填充 Deliveries 数组,即使 delivery_method 是:测试。
我也在运行 sidekiq 和 redis,所以我不确定是否必须以某种方式设置它们的环境。
我有没有办法在我的测试环境中完全防止电子邮件排队进入系统?
【问题讨论】:
-
尝试为 sidekiq 设置不同的命名空间。可能是您正在与 redis 中的测试共享开发名称空间。因此,当您运行测试时,您仍然会进入开发队列。
-
谢谢你,好像成功了。
标签: ruby-on-rails ruby-on-rails-5 end-to-end