Ruby 1.9.2 の Rails 3.1 から Ruby 1.9.3 の Rails 3.2 にアプリをアップグレードしています。開発中のアプリをステップ実行すると、すべて問題ないようです。rake test:units に問題はありません。
しかし、rake test:functionals を実行すると、コントローラーの 1 つで「スタック レベルが深すぎるというエラー」が発生します。
そのコントローラーだけのテストを実行すると、すべて問題ありません。
ruby -Itest test/functional/administrators_controller_test.rb
ここに完全なエラーテキストがあります(出力を少しきれいにするためにインストールしました):
ERROR (0:00:00.012) comes first
stack level too deep
@ /usr/local/rvm/gems/ruby-1.9.3-p194@rails-3.2/gems/actionpack-3.2.8/lib/abstract_controller/layouts.rb:358
私はただのばかだと確信していますが、フレームワーク内からスタック トレースを取得する方法について、最も漠然とした考えがありません。rake test:functionals --trace を実行すると、同じエラーと同じ出力が生成されます。また、config.log_level を :debug に変更し、Rails.backtrace_cleaner.remove_silencers のコメントを外しました! config/initializers/backtrace_silencers.rb にあります。
他の rake タスクを実行でき、rake test:units はすべてのテストに合格しました。
誰にも手がかりがありますか?私は1つを使用できます。