2012-10-14 55 views
1

我剛纔通過以下步驟加入黃瓜我的Rails應用程序:未初始化的常數小黃瓜::分析器::分析器(NameError)

添加

group :test do 
    gem 'cucumber' 
end 

我的Gemfile。

運行所bundle install

通過rails generate cucumber:install

當後面有沒有什麼特色,好像黃瓜按預期運行。

但是當我添加一個功能文件並運行bundle exec cucumber我得到以下

未初始化的常數小黃瓜::分析器::分析器(NameError) /Users/purinkle/.rvm/gems/ruby-1.9 .3-p286 @ radfords/gems/cucumber-1.2.1/lib/cucumber/feature_file.rb:34:在parse' /Users/purinkle/.rvm/gems/[email protected]/gems/cucumber-1.2.1/lib/cucumber/runtime/features_loader.rb:28:in塊中加載' /Users/purinkle/.rvm/gems/[email protected] radfords/gems/cucumber-1.2.1/lib/cucumber/runtime/features_loader.rb:26:在each' /Users/purinkle/.rvm/gems/[email protected]/gems/cucumber-1.2.1/lib/cucumber/runtime/features_loader.rb:26:in加載' /Users/purinkle/.rvm/gems/[email protected]/gems/cucumber -1.2.1/lib/cucumber/runtime/features_loader.rb:14:在features' /Users/purinkle/.rvm/gems/[email protected]/gems/cucumber-1.2.1/lib/cucumber/runtime.rb:170:in featu res' /Users/purinkle/.rvm/gems/[email protected]/gems/cucumber-1.2.1/lib/cucumber/runtime.rb:46:in run!' /Users/purinkle/.rvm/gems/[email protected]/gems/cucumber-1.2.1/lib/cucumber/cli/main.rb:43:in execute!' /用戶/ purinkle/.rvm /寶石/紅寶石1.9.3-P286 @ radfords /斌/黃瓜:23:在load' /Users/purinkle/.rvm/gems/[email protected]/bin/cucumber:23:in'

+0

嘗試發生器與黃瓜護欄https://github.com/cucumber/cucumber-rails。在你的gem文件中加入'gem cucumber-rails' – AnkitG

回答

1

你可能有一個實現Gherkin一些其他的寶石。

如果您已經安裝spinach,例如,將創建一個衝突:當cucumber需要Gherkin,將其拉離spinach寶石,而不是從gherkin

CucumberGherkin::Parser是一個Parser類模塊在其中[1]。

Spinach使用gherkin-ruby [2],它以不同的方式實現整個事物,但使用相同的名稱[3](窮人執行IMO)。

嘗試卸載spinach(從Gemfile移除和bundle update應該是足夠了)或者任何你有可能會引起名稱衝突。

+0

任何想法如何使它們共存,乾淨還是詭計多端? – borisrorsvort

+0

也許你可以猴子補丁菠菜手動包括小黃瓜,但我不知道如何解決...... – cassianoleal

+0

當我使用crontab -e,當我從命令運行相同的命令時,我得到了黃瓜錯誤行,我很好。 對我來說沒有菠菜parser.rb:45:在中:未初始化常量Gherkin(NameError)'' – TangibleDream

相關問題