« Ruby on Rails 2.3でDEPRECATION WARNING: protect_from_forgery only takes :only and :except options now. :digest and :secret have no effect. という警告が出るの対策 | メイン | ActiveRecordの設定をDRYにするDrySQLライブラリ »

Ruby on Rails 2.3でテストを実行すると、undefined method `use_transactional_fixtures='というエラーになるときの対策

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以降

トラックバック

このエントリーのトラックバックURL:
http://www.gesource.jp/mt/mt-tb.cgi/954

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2009年04月20日 12:22に投稿されたエントリーのページです。

ひとつ前の投稿は「Ruby on Rails 2.3でDEPRECATION WARNING: protect_from_forgery only takes :only and :except options now. :digest and :secret have no effect. という警告が出るの対策」です。

次の投稿は「ActiveRecordの設定をDRYにするDrySQLライブラリ」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35