1

Rails 3.2 と mongoid 2 を使用して、最新の Rails アプリケーションを使用しています。rake と入力してテストを開始できませんでした。スローされる例外は (サニタイズ済み) です。

rake test                                                                                                                         
/railsapp/app/models/image.rb:18:in `<class:Image>': undefined method `[]' for nil:NilClass (NoMethodError)
    from /railsapp/app/models/image.rb:1:in `<top (required)>'
    from /gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require'
    from /gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `block in require'
    from /gems/activesupport-3.2.8/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /gems/activesupport-3.2.8/lib/active_support/dependencies.rb:251:in `require'
    from /gems/activesupport-3.2.8/lib/active_support/dependencies.rb:359:in `require_or_load'
    from /gems/activesupport-3.2.8/lib/active_support/dependencies.rb:313:in `depend_on'
    from /gems/activesupport-3.2.8/lib/active_support/dependencies.rb:225:in `require_dependency'
    from /gems/railties-3.2.8/lib/rails/engine.rb:439:in `block (2 levels) in eager_load!'
    from /gems/railties-3.2.8/lib/rails/engine.rb:438:in `each'
    from /gems/railties-3.2.8/lib/rails/engine.rb:438:in `block in eager_load!'
    from /gems/railties-3.2.8/lib/rails/engine.rb:436:in `each'
    from /gems/railties-3.2.8/lib/rails/engine.rb:436:in `eager_load!'
    from /gems/railties-3.2.8/lib/rails/application/finisher.rb:53:in `block in <module:Finisher>'
    from /gems/railties-3.2.8/lib/rails/initializable.rb:30:in `instance_exec'
    from /gems/railties-3.2.8/lib/rails/initializable.rb:30:in `run'
    from /gems/railties-3.2.8/lib/rails/initializable.rb:55:in `block in run_initializers'
    from /gems/railties-3.2.8/lib/rails/initializable.rb:54:in `each'
    from /gems/railties-3.2.8/lib/rails/initializable.rb:54:in `run_initializers'
    from /gems/railties-3.2.8/lib/rails/application.rb:136:in `initialize!'
    from /gems/railties-3.2.8/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /railsapp/config/environment.rb:7:in `<top (required)>'
    from /railsapp/test/test_helper.rb:2:in `require'
    from /railsapp/test/test_helper.rb:2:in `<top (required)>'
    from /railsapp/test/unit/post_test.rb:1:in `require'
    from /railsapp/test/unit/post_test.rb:1:in `<top (required)>'
    from /gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:10:in `require'
    from /gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:10:in `block (2 levels) in <main>'
    from /gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `each'
    from /gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `block in <main>'
    from /gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `select'
    from /gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `<main>'
Errors running test:units! #<RuntimeError: Command failed with status (1): [/Users/janlimpens/.rvm/rubies/ruby-1.9.3-p...]>

コンテキストに関心のあるファイルを含む Gist を作成しました: https://gist.github.com/3989760

画像モデルに関するテストはまったくありません。フィクスチャはありません。私が取得した唯一のテストは要点に含まれていますが、それは問題ではなく、test_helper.rb を含めるとエラーがスローされます。

私のオプションは何ですか?

4

1 に答える 1

1

テストが開始されると、Rails が読み込まれ、すべてのモデルが評価されます。

これには Image モデルが含まれており、明らかに 18 行目にバグまたはタイプミスがあります。

これは次の行になります。

:path => "#{APP_CONFIG['uploads_dir']}/:class/:id/:attachment/:style.:extension",

ここでの唯一の配列表記は次のとおりです。

APP_CONFIG['uploads_dir']

では、APP_CONFIG はどこに定義されているのでしょうか。そして、なぜそれはゼロなのですか?これらは私たちが答えなければならない質問です。

この文字列のプロジェクトを grep することから始めることができます。

于 2012-10-31T21:19:36.853 に答える