cucumber --tag=@homepage_page --format progress --format html --out=reports/feature.html cannot load such file -- rspec (LoadError)
当我尝试生成HTML报告时,我收到此错误:
cannot load such file -- rspec (LoadError)
/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Library/Ruby/Site/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Users/eun081/Documents/Ajay/PROJECTS/COMPLETED/Updated/Automation/features/support/env.rb:1:in `<top (required)>'
/Library/Ruby/Gems/2.0.0/gems/cucumber-2.4.0/lib/cucumber/rb_support/rb_language.rb:96:in `load'
/Library/Ruby/Gems/2.0.0/gems/cucumber-2.4.0/lib/cucumber/rb_support/rb_language.rb:96:in `load_code_file'
/Library/Ruby/Gems/2.0.0/gems/cucumber-2.4.0/lib/cucumber/runtime/support_code.rb:142:in `load_file'
/Library/Ruby/Gems/2.0.0/gems/cucumber-2.4.0/lib/cucumber/runtime/support_code.rb:84:in `block in load_files!'
/Library/Ruby/Gems/2.0.0/gems/cucumber-2.4.0/lib/cucumber/runtime/support_code.rb:83:in `each'
/Library/Ruby/Gems/2.0.0/gems/cucumber-2.4.0/lib/cucumber/runtime/support_code.rb:83:in `load_files!'
/Library/Ruby/Gems/2.0.0/gems/cucumber-2.4.0/lib/cucumber/runtime.rb:253:in `load_step_definitions'
/Library/Ruby/Gems/2.0.0/gems/cucumber-2.4.0/lib/cucumber/runtime.rb:61:in `run!'
/Library/Ruby/Gems/2.0.0/gems/cucumber-2.4.0/lib/cucumber/cli/main.rb:32:in `execute!'
/Library/Ruby/Gems/2.0.0/gems/cucumber-2.4.0/bin/cucumber:8:in `<top (required)>'
/usr/local/bin/cucumber:22:in `load'
/usr/local/bin/cucumber:22:in `<main>'
这是我的
RubyGems Environment:
- RUBYGEMS VERSION: 2.6.11
- RUBY VERSION: 2.0.0 (2015-12-16 patchlevel 648) [universal.x86_64 darwin16]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
- USER INSTALLATION DIRECTORY: /Users/eun081/.gem/ruby/2.0.0
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- SPEC CACHE DIRECTORY: /Users/eun081/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-16
- GEM PATHS:
- /Library/Ruby/Gems/2.0.0
- /Users/eun081/.gem/ruby/2.0.0
- /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--no-document"
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Users/eun081/.rvm/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /Users/eun081/.rvm/bin
这是我的env.rb: -
require 'rspec'
require 'watir-webdriver'
require 'cucumber'
require 'rake'
require 'spreadsheet'
require 'yaml'
require 'page-object'
require 'yaml'
这是我的宝石文件: -
source "http://rubygems.org"
gem of "rake"
gem "cucumber"
gem "rspec"
#gem "watir-webdriver"
gem 'selenium-webdriver','~>2.53.0'
gem 'watir-webdriver','~>0.9.1'
gem 'spreadsheet'
gem 'rubyXL'
gem 'roo'
gem 'page-object'
gem 'require_all'
gem 'faker'
gem 'parallel_tests', '~> 2.2', '>= 2.2.2'
gem 'nokogiri', '1.3.3'
答案 0 :(得分:1)
答案是在第一个评论中安装了rspec?&#39;从你在评论中给出的宝石列表看起来很像你已经安装了rspec的某些部分,但不是基本的rspec gem本身。
您需要运行命令gem install rspec
(或者如果您在列出的gem文件的目录中,您应该能够运行Bundle Install,但它确实需要来自该目录, bundler找到gemfile)
显然你认为你已经安装了rspec,因为你在被问到时已经保持了,但错误表明不是这样。如果您需要更多证明这是问题,请参阅下文。
在刚刚安装了rspec的干净系统上,我的原始gem list
输出显示名称中没有带有rspec的宝石..
然后我跑了gem install rspec
,之后当我跑gem list rspec
时,我得到了以下内容
C:\Users\chuckv>gem list rspec
*** LOCAL GEMS ***
rspec (3.6.0)
rspec-core (3.6.0)
rspec-expectations (3.6.0)
rspec-mocks (3.6.0)
rspec-support (3.6.0)
然后我可以启动一个IRB会话并执行require 'rspec'
,它就像这样工作..
C:\Users\chuckv>irb
irb(main):001:0> require 'rspec'
=> true
如果我运行gem uninstall rspec
,那么它将删除基本的rspec gem,留下其他的,创建一个类似于你在注释中放置的gem list
输出。如果我启动一个IRB会话并执行require 'rspec'
那么我得到的基本相同的错误(没有黄瓜调用堆栈)
C:\Users\chuckv>gem list rspec
*** LOCAL GEMS ***
rspec-core (3.6.0)
rspec-expectations (3.6.0)
rspec-mocks (3.6.0)
rspec-support (3.6.0)
C:\Users\chuckv>irb
irb(main):001:0> require 'rspec'
LoadError: cannot load such file -- rspec
from C:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from C:/Ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from (irb):1
from C:/Ruby22/bin/irb:11:in `<main>'
如果我然后运行gem install rspec
我回到rspec
的输出中gem list rspec
,并且require命令再次运行。