cucumber --tag = @ homepage_page --format progress --format html --out = reports / feature.html无法加载这样的文件 - rspec(LoadError)

时间:2017-05-05 19:03:34

标签: ruby rspec cucumber

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'

1 个答案:

答案 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命令再次运行。