2012-05-03 5 views
5

私はRuby 1.9.3-p125(1.9.3-p0から)にアップグレードしました。すべてのテストはアップグレード前に動作していました。それがRailsのを見つけることができないようRails cucumber undefinedメソッド `config 'for nil:NilClass(NoMethodError)

if !Rails.application.config.cache_classes 
    warn "WARNING: You have set Rails' config.cache_classes to false (most likely in config/environments/cucumber.rb). This setting is known to cause problems with database transactions. Set config.cache_classes to true if you want to use transactions. For more information see https://rspec.lighthouseapp.com/projects/16211/tickets/165." 
    end 

だからそれは見えます:すくい機能

Using the default profile... 
undefined method `config' for nil:NilClass (NoMethodError) 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-rails-1.3.0/lib/cucumber/rails.rb:17:in `<top (required)>' 
/home/map7/.rvm/gems/[email protected]/gems/bundler-1.1.3/lib/bundler/runtime.rb:74:in `require' 
/home/map7/.rvm/gems/[email protected]/gems/bundler-1.1.3/lib/bundler/runtime.rb:74:in `rescue in block in require' 
/home/map7/.rvm/gems/[email protected]/gems/bundler-1.1.3/lib/bundler/runtime.rb:62:in `block in require' 
/home/map7/.rvm/gems/[email protected]/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `each' 
/home/map7/.rvm/gems/[email protected]/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `require' 
/home/map7/.rvm/gems/[email protected]/gems/bundler-1.1.3/lib/bundler.rb:119:in `require' 
/home/map7/pais/config/application.rb:7:in `<top (required)>' 
/home/map7/pais/config/environment.rb:2:in `require' 
/home/map7/pais/config/environment.rb:2:in `<top (required)>' 
/home/map7/pais/features/support/env.rb:8:in `require' 
/home/map7/pais/features/support/env.rb:8:in `<top (required)>' 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/rb_support/rb_language.rb:129:in `load' 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/rb_support/rb_language.rb:129:in `load_code_file' 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:171:in `load_file' 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:83:in `block in load_files!' 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:82:in `each' 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime/support_code.rb:82:in `load_files!' 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime.rb:175:in `load_step_definitions' 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/runtime.rb:40:in `run!' 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/cli/main.rb:43:in `execute!' 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-1.1.9/lib/cucumber/cli/main.rb:20:in `execute' 
/home/map7/.rvm/gems/[email protected]/gems/cucumber-1.1.9/bin/cucumber:14:in `<top (required)>' 
/home/map7/.rvm/gems/[email protected]/bin/cucumber:19:in `load' 
/home/map7/.rvm/gems/[email protected]/bin/cucumber:19:in `<main>' 
rake aborted! 
Command failed with status (1): [/home/map7/.rvm/rubies/ruby-1.9.3-p194/bin...] 

Tasks: TOP => features => cucumber => cucumber:ok 
(See full trace by running task with --trace) 

を実行するときに今、私はエラーで述べたように、私はrails.rbファイルの行17にこのバックをトレースし、次のエラーを取得しますキュウリの中でのアプリケーション。

コンソール 'rails c'に入ってRails.application.configと入力すると、Configurationオブジェクトが返されます。

私はキュウリ - レールの宝石を1.3.0とキュウリ1.1.9にアップグレードしようとしました。

+1

[こちら](https://github.com/cucumber/cucumber-rails/issues)を試したことがありますか?/187#issuecomment-4160160)? – pjumble

+0

ありがとうございました。エラーを修正しました。 – map7

答えて

6

これは、キュウリ - レールの宝石のロードオーダーの問題です。 Gemfileを更新してすぐにロードしないと、後でそのプロセスで必要になります。

gem "cucumber-rails", "1.3.0", :require => false 
関連する問題