Ruby on Rails 2.3でテストを実行すると
./test/unit/../test_helper.rb:23: undefined method `use_transactional_fixtures=’ for Test::Unit::TestCase:Class (NoMethodError)
というエラーになるときの対策です。
Ruby on Rails 2.3では、TestCaseクラスをTest::Unit::TestCaseからActiveSupport::TestCaseに変更する必要があります。
RAILS_ROOT/test/test_helper.rbを修正します。
#class Test::Unit::TestCase #Ruby on Rails 2.2以前
class ActiveSupport::TestCase #Ruby on Rails 2.3以降
RAILS_ROOT/test/unit/にある*.test.rbもすべて修正します。
#class SampleTest < Test::Unit::TestCase #Ruby on Rails 2.2以前
class SampleTest < ActiveSupport::TestCase #Ruby on Rails 2.3以降
Ruby on Rails 2.0で、ActionController::TestCaseのsetupにバグがあったため、Ruby on Rails 1.2と同じようにFunctionalTestにもTest::Unit::TestCaseを使っているケースがあります。
ActionController::TestCaseのsetupにバグは、Ruby on Rails 2.1で修正されているようですから、ActionController::TestCaseを使うようにします。
RAILS_ROOT/test/functional/にある*.test.rbもすべて修正します。
#class SampleTest < Test::Unit::TestCase #Ruby on Rails 2.2以前
class SampleTest < ActionController::TestCase #Ruby on Rails 2.3以降