4

rspec と email_spec (Ruby on Rails 3.0.7) を使用してメーラー クラスで生成された電子メールのテストを作成しようとしています。

メールのレンダリングに使用されるレイアウトが、メーラー クラスで指定されたレイアウトであるかどうかを確認したいと思います。

これを行う方法について何か考えはありますか?解決策を探すのに3時間費やしましたが、何も見つかりませんでした。

ありがとう!

4

2 に答える 2

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
于 2016-12-07T14:05:44.013 に答える
0

(これはかなり遅い回答だと思います。おそらくすでに解決策を見つけているでしょう)この回答をあまり更新することはできませんが、このページは役に立ちますか? レイアウトがレンダリングされたかどうかを確認する方法について説明します。パラメータを使用して取得リクエストを作成し(例はこちら)、結果がレンダリングしたいレイアウトをレンダリングするかどうかを確認できます。

于 2012-12-31T08:18:38.167 に答える