Ruby on rails ActionMailer.deliveries始终是空数组

Ruby on rails ActionMailer.deliveries始终是空数组,ruby-on-rails,ruby-on-rails-4,rspec,postmark,Ruby On Rails,Ruby On Rails 4,Rspec,Postmark,我正在使用rails的邮戳gem,并编写Rspecs测试,以确保在表单有效时,电子邮件实际上正在发送 我想检查ActionMailer::Base.deliveries.last.to是否与我要测试的联系人表单中的内容匹配 但是,ActionMailer::Base.deliveries始终是一个空数组。即使在生产环境中,成功发送(并在另一端接收)电子邮件后,使用rails c production观察时,阵列仍然是空的 我错过了什么?如何验证电子邮件是否已在我的测试中发送?ActionMail

我正在使用rails的邮戳gem,并编写Rspecs测试,以确保在表单有效时,电子邮件实际上正在发送

我想检查ActionMailer::Base.deliveries.last.to是否与我要测试的联系人表单中的内容匹配

但是,ActionMailer::Base.deliveries始终是一个空数组。即使在生产环境中,成功发送(并在另一端接收)电子邮件后,使用
rails c production
观察时,阵列仍然是空的


我错过了什么?如何验证电子邮件是否已在我的测试中发送?

ActionMailer::Base.deliveries
数组是ActionMailer()提供的
:测试
传递模式的一项功能。如果您在测试环境中启用了邮戳gem,那么该数组将始终为空

除非您的目标是进行完全集成测试,否则您应该避免在测试中使用外部服务,并坚持使用
:test
交付方法。如果你这么做了,你可能还想看看gem,它提供了一个DSL来测试用ActionMailer发送的电子邮件


如果您确实想在测试中发送电子邮件,您可以使用通过收件人或邮件ID检索发送的邮件,并验证其内容。这允许进行完整的黑盒测试,如果这是您正在寻找的。

在测试环境的配置环境设置中。。。你有什么动作邮件设置?