如何使用rspec测试mandrill api

tsp*_*ore 8 email rspec ruby-on-rails devise mandrill

所以我的客户报告说很多电子邮件都是错误的人,我想写一些功能测试来查找并确保他们收到的电子邮件以及我在规范中说的内容.我有mandrill_mailer使用mandril api,在它发出之前我想知道消息是什么.

例如.创建一个新用户帐户 - >创建用户,然后发送一封欢迎电子邮件.在设计中,它调用RegistrationMailer.new_registration(resource).deliver,然后发送电子邮件给用户:

  def new_registration(user)
user = User.find_by_email(user["email"])
mandrill_mail template: 'new-registration',
subject: 'Welcome to ContentBlvd!',
to: { email: user["email"], name: user["full_name"] },
vars: {
  'first_name' =>   user["full_name"],
  'unsubscribe' =>  "#{CONFIG[:protocol]}#{CONFIG[:host]}/unsubscribe?email=#{user.email}"
}
Run Code Online (Sandbox Code Playgroud)

结束

在我的邮件程序中,如何测试此邮件对象?
我尝试了ActionMailer :: Base.deliveries,但它返回nil(因为我使用的是mandrill邮件程序...)所以我尝试了 - MandrillMailer :: TemplateMailer.message但是没有运气....感谢您的帮助.

Ric*_*cif -4

您不必使用 Mandrill gem 来使用 Mandrill 发送电子邮件。只需使用 Rails 默认的 Mailer 并将配置添加到 application.rb 或 production.rb 即可使用您的 Mandrill 帐户。

http://help.mandrill.com/entries/21738467-Using-Mandrill-s-SMTP-integration-with-Web-Frameworks

  • 这并不能回答问题。 (2认同)