6

Rails 2.3.2 にアップグレードしたばかりの Rails プロジェクトで rspec を使用しようとしています。アプリのプラグインとして rspec 1.2.6 と rspec-rails 1.2.6 をインストールしました。

私の問題は、スペックがアプリ クラスやレール標準ライブラリにアクセスできないことです。

最初に、テストするモデル クラスを RAILS_ROOT からのフル パスを使用して指定する必要がありましたが、クラスをロードすると、次のようになります。

/app/models/person.rb:1: 初期化されていない定数 ActiveRecord (NameError)
        from ./spec/models/person_spec.rb:1:in `require'
    ./spec/models/person_spec.rb:1 から
    from /Users/law/Projects/roster/vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb:15:in `load'
    from /Users/law/Projects/roster/vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb:15:in `load_files'
    from /Users/law/Projects/roster/vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb:14:in `each'
    from /Users/law/Projects/roster/vendor/plugins/rspec/lib/spec/runner/example_group_runner.rb:14:in `load_files'
    from /Users/law/Projects/roster/vendor/plugins/rspec/lib/spec/runner/options.rb:99:in `run_examples'
    from /Users/law/Projects/roster/vendor/plugins/rspec/lib/spec/runner/command_line.rb:9:in `run'
    /Users/law/Projects/roster/vendor/plugins/rspec/bin/spec:4 から
レーキが中止されました!

アプリケーションのルートから rake spec を呼び出して rspec を起動しています。

この状況で何が欠けている可能性があるかについてのアイデアはありますか?

4

2 に答える 2

6

spec_helper.rbあなたが書くすべてのspecファイルに実際に含める必要があります....

そのように個々のスペックを実行できます:

$ spec specs/models/person_spec.rb

常に仕様スイート全体を実行する代わりに

于 2009-05-30T19:08:12.007 に答える
0

私は仕様を使用していないため、これで問題が解決しない可能性がありますが、独自の rake タスクを作成していて Rails 環境が必要な場合は、それを要求する必要があります。

task(:task_name => :environment) do
    # Task Implementation Here
end
于 2009-05-24T15:32:24.653 に答える