1

次の手順で Cucumber を Rails アプリに追加しました。

追加する

group :test do
  gem 'cucumber'
end

私のGemfileに。

ランニングbundle install

に続くrails generate cucumber:install

機能がない場合、Cucumber は期待どおりに動作するようです。

しかし、機能ファイルを追加して実行するbundle exec cucumberと、次のようになります

初期化されていない定数 Gherkin::Parser::Parser (NameError) /Users/purinkle/.rvm/gems/ruby-1.9.3-p286@radfords/gems/cucumber-1.2.1/lib/cucumber/feature_file.rb:34: in parse' /Users/purinkle/.rvm/gems/ruby-1.9.3-p286@radfords/gems/cucumber-1.2.1/lib/cucumber/runtime/features_loader.rb:28:inblock in load' /Users/purinkle/.rvm/gems/ruby-1.9.3-p286@radfords/gems/cucumber-1.2.1/lib/cucumber/runtime/features_loader.rb:26:in each' /Users/purinkle/.rvm/gems/ruby-1.9.3-p286@radfords/gems/cucumber-1.2.1/lib/cucumber/runtime/features_loader.rb:26:inload' /Users /purinkle/.rvm/gems/ruby-1.9.3-p286@radfords/gems/cucumber-1.2.1/lib/cucumber/runtime/features_loader.rb:14:in features' /Users/purinkle/.rvm/gems/ruby-1.9.3-p286@radfords/gems/cucumber-1.2.1/lib/cucumber/runtime.rb:170:infeatures' /Users/purinkle/.rvm/gems /ruby-1.9.3-p286@radfords/gems/cucumber-1.2.1/lib/cucumber/runtime.rb:46:in run!' /Users/purinkle/.rvm/gems/ruby-1.9.3-p286@radfords/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:43:inexecute!」/Users/purinkle/.rvm/gems/ruby-1.9.3-p286@radfords/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:20:in execute' /Users/purinkle/.rvm/gems/ruby-1.9.3-p286@radfords/gems/cucumber-1.2.1/bin/cucumber:14:in' /Users/purinkle/.rvm/ gems/ruby-1.9.3-p286@radfords/bin/cucumber:23:in load' /Users/purinkle/.rvm/gems/ruby-1.9.3-p286@radfords/bin/cucumber:23:in'

4

1 に答える 1

1

おそらく、 を実装する他の gem があるでしょうGherkin

spinachたとえば、インストールした場合、競合が発生します。requires の場合、cucumbergemからではなくGherkin、gem からプルされます。spinachgherkin

Cucumberのは、クラスをGherkin::Parser含むモジュールです[1]。Parser

Spinach[2]を使用しますgherkin-ruby。これは、全体を別の方法で実装しますが、同じ名前を使用します [3] (実装が不十分な IMO)。

アンインストールしてみてください(あなたからspinachそれを削除するだけで十分です)、または名前の衝突を引き起こしている可能性のあるものを何でも試してください。Gemfilebundle update

于 2012-10-31T13:19:52.410 に答える