我正在尝试为使用 rspec 和 email_spec (Ruby on Rails 3.0.7)的邮件程序类生成的电子邮件编写一些测试
我想检查用于呈现电子邮件的布局是否是邮件程序类中指定的布局。
关于如何做到这一点的任何想法?我花了 3 个小时寻找解决方案,但找不到任何东西。
谢谢!
我正在尝试为使用 rspec 和 email_spec (Ruby on Rails 3.0.7)的邮件程序类生成的电子邮件编写一些测试
我想检查用于呈现电子邮件的布局是否是邮件程序类中指定的布局。
关于如何做到这一点的任何想法?我花了 3 个小时寻找解决方案,但找不到任何东西。
谢谢!
(我意识到这是一个很晚的回复。您可能已经找到了解决方案)我无法更新这个答案,但是这个页面有帮助吗?它描述了如何检查布局是否被渲染。您可以使用参数(例如此处)发出获取请求,然后检查结果是否呈现您希望它呈现的布局。
This is cheating a little bit, since you're not really checking which template got generated...
However, I just wanted to perform a quick sanity check that the right email is (probably) being generated - so this was good enough for my needs:
# In RSpec:
expect(ActionMailer::Base.deliveries.last.subject)
.to eq I18n.t("name.of.email.subject")
# In MiniTest:
assert_equal I18n.t("name.of.email.subject"),
ActionMailer::Base.deliveries.last.subject