【发布时间】:2013-08-23 08:42:49
【问题描述】:
我希望在生成Invite 时使用后台进程发送电子邮件。
我目前拥有的是这种方法:Invite 模型具有方法send_mail,它使用 Mandrill API 和 gem 发送电子邮件。它还有 queue_mail 方法使用 Resque 将带有邀请 ID 的 InviteMailer 添加到队列中。
但是……由于我很难为此编写规范,我认为这可能不是发送邮件的最佳方法。
我主要想要和需要测试的:
- 邮件是否已添加到队列中?
-
InviteMailer工作正常吗? - 邮件是否包含正确的重要信息?
重要信息是:发送给正确的人,包含指向特定站点的链接和一些特定的数据/文本;我也不确定如何让当前主机访问链接。
我认为这并不罕见,所以我想知道最佳做法是什么。
我的测试环境:rspec、capybara、factory girl。我已经添加了 VCR,用于缓存 API 请求。
【问题讨论】:
标签: ruby-on-rails rspec tdd ruby-on-rails-4 bdd