22nd Tue
お手軽なActionMailerのテスト方法
script/generate mailerでgenerateされるテストコードの@expectedはTMailのインスタンスらしく、生すぎなことがあります。
というわけで、お手軽にテストする方法をぐぐりました。
via http://sablog.com/archives/2006/03/14/how-to-test-actionmailer-in-ruby-on-rails
rails>>
class SampleMailerTest < ActionMailer::TestCase
tests SampleMailer
def setup
# テスト時に配送したメールの配列を保存する。
ActionMailer::Base.deliveries = []
end
def test_welcome
to = "satoko@s21g.com"
sender = to
sender_name = "satoko"
SampleMailer.deliver_welcome(to, sender, sender_name)
assert !ActionMailer::Base.deliveries.empty?
sent = ActionMailer::Base.deliveries.first
assert_equal [to], sent.to
assert_equal "expected title", sent.subject
assert sent.body =~ /^Recommended by #{sender_name}. Enjoy!$/
end
end
<<--
posted by
satoko on Tue 22 Apr 2008 at 16:34 with 0 comments