script/generate mailerでgenerateされるテストコードの@expectedはTMailのインスタンスらしく、生すぎなことがあります。
というわけで、お手軽にテストする方法をぐぐりました。

via http://sablog.com/archives/2006/03/14/how-to-test-actionmailer-in-ruby-on-rails

   1  class SampleMailerTest < ActionMailer::TestCase
   2    tests SampleMailer
   3  
   4    def setup
   5      # テスト時に配送したメールの配列を保存する。
   6      ActionMailer::Base.deliveries = []
   7    end
   8  
   9    def test_welcome
  10      to = "satoko@s21g.com"
  11      sender = to
  12      sender_name = "satoko"
  13  
  14      SampleMailer.deliver_welcome(to, sender, sender_name)
  15      assert !ActionMailer::Base.deliveries.empty?
  16  
  17      sent = ActionMailer::Base.deliveries.first
  18      assert_equal [to], sent.to
  19      assert_equal "expected title", sent.subject
  20      assert sent.body =~ /^Recommended by #{sender_name}. Enjoy!$/
  21    end
  22  end

Refs

http://wota.jp/ac/?date=20050731

posted by Png satoko on Tue 22 Apr 2008 at 16:34

Comments:

or Preview
Social Bookmarks
  • Delicious
  • B_entry539
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ