[rails] Rails2.0.2のActionMailerのUNITテストでsetupメソッドが使えない件

require File.dirname(__FILE__) + '/../test_helper'

class AgentTest < ActionMailer::TestCase
  tests Agent
  # replace this with your real tests                                           

  def setup
    puts 'hoge'
  end
end

こんな感じでsetupメソッドを使っても華麗にスルーされてしまう(teardownは使える)。Test::Unit::TestCaseじゃなくてActionMailer::TestCaseを使ってるのが原因っぽい。

ググる様にお伺いを立てるとすでにパッチがあった。

http://dev.rubyonrails.org/ticket/10406

でもパッチを適用してうんぬんとかすると環境の移行があった時に面倒だよね。
ソースを見てみるとRails 1.2時代にsetupメソッドでやっていたことをライブラリに吸収したみたいになっているので古きよきrails1.2時代のテストケースを使うことにした

require File.dirname(__FILE__) + '/../test_helper'

class AgentTest < Test::Unit::TestCase
  def setup
    ActionMailer::Base.delivery_method = :test
    ActionMailer::Base.perform_deliveries = true
    ActionMailer::Base.deliveries = []
    @expected = TMail::Mail.new
    @expected.set_content_type "text", "plain", { "charset" => 'iso-2022-jp' }
    @expected.mime_version = '1.0'
  end

  def test_truth
    assert true
  end
end

こんな感じ。
まあそのうち2.0.3が出れば修正されるでしょう。