Ruby cucumber--tag=@homepage\u page--format progress--format html--out=reports/feature.html无法加载这样的文件--rspec(LoadError)
当我尝试生成HTML报告时,出现以下错误:Ruby cucumber--tag=@homepage\u page--format progress--format html--out=reports/feature.html无法加载这样的文件--rspec(LoadError),ruby,rspec,cucumber,Ruby,Rspec,Cucumber,当我尝试生成HTML报告时,出现以下错误: cucumber --tag=@homepage_page --format progress --format html --out=reports/feature.html cannot load such file -- rspec (LoadError) 这是我的env.rb:- RubyGems Environment: - RUBYGEMS VERSION: 2.6.11 - RUBY VERSION: 2.0.0 (2015-1
cucumber --tag=@homepage_page --format progress --format html --out=reports/feature.html cannot load such file -- rspec (LoadError)
这是我的env.rb:-
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
这是我的gem文件:-
require 'rspec'
require 'watir-webdriver'
require 'cucumber'
require 'rake'
require 'spreadsheet'
require 'yaml'
require 'page-object'
require 'yaml'
答案就在你在评论中给出的gem列表的第一条评论“是否安装了rspec?”中,看起来你安装了rspec的某些部分,但没有安装基本rspec gem本身 您需要运行命令
gem install rspec
(或者,如果您在列出gem文件的目录中,您应该能够只运行Bundle install,但它确实需要来自该目录,bundler才能找到gem文件)
很明显,当被问及rspec时,您认为您已经安装了rspec,但错误表明并非如此。如果您需要更多证据证明这是问题所在,请参阅下文
在刚才没有安装rspec的干净系统上,我最初的gem列表
输出显示名称中没有带rspec的gem
然后我运行了gem install rspec
,之后当我运行gem list rspec
时,我得到了以下结果
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'
然后,我可以启动一个IRB会话,并执行要求“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)
如果我运行gem uninstall rspec
,那么它只会删除基本rspec gem,剩下其他的,创建一个gem列表
输出,看起来与您在注释中输入的内容类似。如果我启动了一个IRB会话,并且要求“rspec”
那么我得到的错误基本上与您所得到的相同(无cucumber调用堆栈)
C:\Users\chuckv>gem列表rspec
***本地宝石***
rspec核心(3.6.0)
rspec期望值(3.6.0)
rspec模拟(3.6.0)
rspec支持(3.6.0)
C:\Users\chuckv>irb
irb(主):001:0>要求“rspec”
LoadError:无法加载这样的文件--rspec
来自C:/Ruby22/lib/ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
来自C:/Ruby22/lib/ruby/2.2.0/rubygems/core\u ext/kernel\u require.rb:54:in'require'
来自(irb):1
来自C:/Ruby22/bin/irb:11:in`'
如果我随后运行
gem install rspec
我会在gem list rspec
的输出中返回rspec
,require命令再次工作。是否安装了rspec
是的。是否安装了。请编辑您的问题并包括env.rb
?我还添加了env.rb和gem文件,如果您需要什么,请告诉我。运行命令gem list
,并验证rspec是否已列出。如果没有,并且安装了bundler,则运行bundle install
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)
C:\Users\chuckv>irb
irb(main):001:0> require 'rspec'
=> true
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>'