2015-10-16 48 views
0

當我運行RSpec的測試,我得到:RSpec的和 「未初始化的常數功能」 錯誤

/home/jasiek/Desktop/katowice-ror-workshops-2015/spec/support/features.rb:2:在'塊中':未初始化的常量功能(NameError)

我想問題是隻在我的本地機器,因爲這是來自信任源(其他用戶沒有這個問題)的回購。我說的是回購:https://github.com/netguru-training/katowice-ror-workshops-2015

我在閱讀棧的問題可能是缺少行:

Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f } 

但我得到了它。

哪裏可能有問題?

這是從控制檯的整體日誌:

jasiek @ jasiek-HP-的EliteBook-8470p:〜/桌面/卡托維茲-ROR-車間2015 $ RAILS_ENV =測試包的exec rspec的 /家/jasiek/Desktop/katowice-ror-workshops-2015/spec/support/features.rb:2:in block in <top (required)>': uninitialized constant Features (NameError) from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/core.rb:97:in從/ home/jasiek/Desktop/katowice-ror-workshops-2015/spec/support/features配置' 。 rb:1:來自/home/jasiek/Desktop/katowice-ror-workshops-2015/spec/rails_helper.rb:23:in each' from /home/jasiek/Desktop/katowice-ror-workshops-2015/spec/rails_helper.rb:23:in' 的<top (required)>' from /home/jasiek/Desktop/katowice-ror-workshops-2015/spec/rails_helper.rb:23:in塊中的/home/jasiek/.rvm/gems/ruby -2.2.0-preview1 /寶石/ rspec的核 - 3.3.0/LIB/rspec的/core/configuration.rb:1280:in require' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/core/configuration.rb:1280:in block require =' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/ core/configuration.rb:1280:在each' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/core/configuration.rb:1280:in需要=' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/core/configuration_options .rb:109:block in process_options_into' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/core/configuration_options.rb:108:in每個' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/core/configuration_options.rb:108 :在process_options_into' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/core/configuration_options.rb:21:in中配置' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/core/runner.rb:101:in setup' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/core/runner.rb:88:in run ' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/core/runner.rb:73:in run' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/lib/rspec/core/runner.rb:41:in invoke' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/rspec-core-3.3.0/exe/rspec:4:in <top (required)>' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/bin/rspec:23:in load' from /home/jasiek/.rvm/ gems/ruby​​-2.2.0-preview1/bin/rspec:23:<main>' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/bin/ruby_executable_hooks:15:in eval' from /home/jasiek/.rvm/gems/ruby-2.2.0-preview1/bin/ruby_executable_hooks:15:in`'

回答

1

嘗試增加在spec/support/features.rb文件中的以下內容:

require '../../spec/support/features/session_helpers' 

所以,就變成:

require '../../spec/support/features/session_helpers' 

RSpec.configure do |config| 
    config.include Features::SessionHelpers, type: :feature 
end 
+0

謝謝。但現在我得到:'/home/jasiek/.rvm/gems/ruby-2.2.0-preview1/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in require:無法加載這樣的文件 - - ../../spec/support/features/session_helpers(LoadError)' – Jensky

+0

我無法在本地重現該問題。我克隆了repo,並且在運行測試時(即使沒有'require'../../ spec/support/features/session_helpers'),我也沒有得到這個錯誤。 –

0

我知道它遲到了。

但是對於可能來這裏尋找答案的其他人。我面臨同樣的問題。 所以當我檢查rails_helper.rb文件中規範我發現,這行

Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f } 

有人評論最初讓我取消註釋它,一切運行良好。 我正在使用

gem 'capybara', '~> 2.15', '>= 2.15.4' 
gem 'rspec-rails', '~> 3.6' 
相關問題