2010-12-16 10 views
6

ヘルパーモジュールをテストに含めるときに、初期化されていない定数エラーが発生します。テストヘルパーモジュールを含めると「初期化されていない定数」

私はレールのテストディレクトリ

functional> admin> school_controller_test.rb 
functional> controller_helper.rb 

に次のファイルを持って次のようにクラス/モジュール本体は、次のとおりです。

module ControllerHelper 
    def check_sort_order (items, column, direction) 
    ... 
    end 
end 

class Admin::SchoolsControllerTest < ActionController::TestCase 
    include ::ControllerHelper 

    test "should sort by columns" do 
    check_sort_order(assigns(:schools), 'schools.name', 'asc') 
    check_sort_order(assigns(:schools), 'schools.name', 'desc') 
    end 
end 

私はこれを実行すると、テスト出力は次のとおりです。

/.../.rvm/gems/ruby-1.9.2-p0/gems/rspec-core-2.3.0/lib/rspec/core/backward_compatibility.rb:20:in `const_missing ':初期化されていない定数ControllerHelper( NameError)

私は名前空間で試してみましたが、モジュールをまったく混ぜることはできません!なぜ私はこのエラーが発生しているすべてのアイデア?あるいは、これは一般的なテスト機能を抽出する正しい方法ですか?私はRailsにはとても新しいので、アドバイスをいただければ幸いです。

乾杯! test_helper.rbにこれを追加すること

答えて

4

試してみてください。

require "test/functional/controller_helper" 

サイドノート:テストわからない:ユニットが、ファイルが自動ロードを取得するためにRSpecのはspec/supportディレクトリがあります。

+0

ありがとうございました!私はrake testで動作させるためには "functional/controller_helper"を使用しなければなりませんでした。私は明日のrspecから始めるつもりです。だから私はそれを負担します - 歓声!! – laura

+0

仕様/サポートについて知りませんでした。ニース! – clacke

+0

test/unitのための類似したディレクトリがあるかどうか誰かが知っていますか? – Daniel

関連する問題