2

Reports :: Accountant::ApprovedTimeOffRequestsControllerという名前のコントローラーがあります。それは適切なディレクトリにあり、クラス名はファイル自体で正しいです。Railsコンソールとユニコーンは問題なくロードされますが、rspecはテスト中にファイルをロードできないようです。

これがエラーです。

/Users/mdarby/.rvm/gems/ruby-1.9.3-p125-perf/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:503:in load_missing_constant': Expected /Users/mdarby/Documents/Code/ccw_32/app/controllers/reports/accountant/approved_time_off_requests_controller.rb to define Reports::Accountant::ApprovedTimeOffRequestsController (LoadError) from /Users/mdarby/.rvm/gems/ruby-1.9.3-p125-perf/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:192:in block in const_missing'

このファイルはRails3.0スタックで見つかりましたが、3.2 / rspec 2.9にアップグレードしたので、これは爆破されています。

クラスの定義: class Reports::Accountant::ApprovedTimeOffRequestsController < ApplicationController

編集:

誰かがこれに出くわした場合、私は仕様を削除することでそれを解決しました:)

4

2 に答える 2

0

テストで何か凝ったことをしていますか? アプリ自体で、複数のスレッドが同じモジュールをロードしようとしているケースがありました。実際に実行する前にロード済みとしてマークすると、次の定数は使用できなくなると推測できます。いずれにせよ、私の解決策は、スレッドの外に準備ブロックを追加することでした。

development.rb (test.rb で必要になる場合があります)

ActionDispatch::Reloader.to_prepare do
  Reports::Accountant::ApprovedTimeOffRequestsController
end
于 2012-04-06T16:48:33.527 に答える
0

Spork を使用しているに違いありません。私はこの正確な問題に遭遇しました。私はSporkを取り外し、途中でした。それを叩いて、それが修正されたかどうか教えてください。その場合は、スポークの問題を提出する価値があるかもしれません。

于 2012-07-26T09:26:52.273 に答える