rails:2293
From: Yoichiro Tanaka <yoichiro@e...>
Date: Fri, 20 Jul 2007 15:25:08 +0900
Subject: [rails:2293] LoginEngineを使用するとテスト環境が壊れる?
よういちろう です。 現在,LoginEngineを使用した Rails アプリケーションを作成しています。ア プリケーションコードは正しく実行されていて問題ないのですが,テスト環境 が異常な状態になってしまいました。 LoginEngineは, http://rubyist.g.hatena.ne.jp/pulscope/20070327 の手順に従って組み込みを行いました。 最初に,モデルに対するテストを行いたいと思い,text/unit 下にテストコー ドを作成し,rake コマンドの test:units タスクを実行すると, ./test/unit/../test_helper.rb:18: undefined method `use_transactional_fixtures=' for Test::Unit::TestCase:Class (NoMethodError) というエラーが表示され,テストケースは実行されませんでした。この問題に ついては, http://d.hatena.ne.jp/yous/20070702 に回避策がエントリされているのを見つけ,test_help をフルパスで require することでテストコードが実行されるようになりました。 次に,コントローラのテストを行うとして,rake コマンドの test:functionals タスクを実行すると, /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/ active_support/dependencies.rb:266:in `load_missing_constant': uninitialized constant ApplicationController (NameError) というエラーが表示され,テストケースが実行されませんでした。各コント ローラクラスが継承する ApplicationController クラスが見つけられない, ということだと思うので,test/test_helper.rb ファイルに, require File.expand_path(File.dirname(__FILE__) + "/../app/ controllers/application") というように application.rb ファイルを require するように記述しまし た。これでテストケースが実行されるようになったのですが, NoMethodError: undefined method `assert_redirect_to' for #<...ControllerTest:0x24c9714> というように,assert_redirect_to メソッドが未定義,という状況になって います。 ネットで検索などを行いましたが,LoginEngine については,組み込み方法に ついては説明を発見できたものの,その後のテストについては何も情報を見つ けることができませんでした。 もし上記と同じように,テストの実行で問題が生じた経験をお持ちの方で,原 因と解決策あるいは回避策をお持ちの方がいらっしゃいましたら,ぜひ情報を いただけないでしょうか? ちなみに,環境は, Ruby 1.8.6 Rails 1.2.3 MacOSX です。 --- Yoichiro Tanaka yoichiro@e... http://www.eisbahn.jp/yoichiro/ -- ML: rails@r... 使い方: http://QuickML.com/
-> 2293 2007-07-20 08:25 [yoichiro@e... ] LoginEngineを使用するとテスト環境が壊れる? 2294 2007-07-20 08:37 ┗[sudo@w... ] 2295 2007-07-20 09:17 ┗[yoichiro@e... ]