2011-07-08 21 views
4

我想寫一些測試用於使用rspec和email_spec生成的郵件類(Ruby on Rails 3.0.7)如何測試 - 使用rspec - 創建電子郵件時使用了什麼樣的模板? (Rails 3.0.7)

我想檢查用於渲染的佈局該電子郵件是在郵件程序類中指定的佈局。

任何想法如何做到這一點?我花了3個小時尋找解決方案,但找不到任何東西。

謝謝!

+1

你想用這個測試來完成什麼? – dodecaphonic

+0

如果我沒有記錯的情況下,我有多個電子郵件模板,並想測試電子郵件發送與正確的模板 – Dorian

回答

0

(我意識到這是一個非常晚的反應,你可能已經找到了解決方案) 我不能更新這個答案,但是this page有幫助嗎?它描述瞭如何檢查佈局是否呈現。您可以使用參數(例如here)獲取請求,然後檢查結果是否呈現您想要呈現的佈局。

0

這是作弊一點點,因爲你不是它得到了生成的模板真的檢查...

不過,我只是想執行快速完整性檢查,正確的電子郵件是(可能)正在生成 - 所以這已經足夠滿足我的需求:

# 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 
相關問題