我正在研究The Cucumber Book中的一些黄瓜测试。我有代码尝试使用事务处理器,并且有一个包含以下代码的文件:
require 'service_manager'
ServiceManager.start
这是在使用Ruby 1.9.2的Mac OS X 10.6.8上。当这个文件执行时,我得到以下内容:
no such file to load -- service_manager (LoadError)
/opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `require'
/opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems/custom_require.rb:59:in `rescue in require'
/opt/local/lib/ruby1.9/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
/Users/gpollice/MyCucumber/ATMBookExample/features/support/services.rb:6:in `<top (required)>'
/opt/local/lib/ruby1.9/gems/1.9.1/gems/cucumber-1.1.2/lib/cucumber/rb_support/rb_language.rb:143:in `load'
/opt/local/lib/ruby1.9/gems/1.9.1/gems/cucumber-1.1.2/lib/cucumber/rb_support/rb_language.rb:143:in `load_code_file'
/opt/local/lib/ruby1.9/gems/1.9.1/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:171:in `load_file'
/opt/local/lib/ruby1.9/gems/1.9.1/gems/cucumber-1.1.2/lib/cucumber/runtime/support_code.rb:83:in `block in load_files!'
service_manager gem安装在/opt/local/lib/ruby1.9/gems/1.9.1/gems中,应用程序使用的其他gem也是如此。在我添加此迭代的代码之前,没有任何问题。我找到了为什么没有找到宝石的原因,只是无法找出原因。任何帮助将不胜感激。
答案 0 :(得分:0)
这似乎是一个加载路径问题。
在此require语句之前是否需要调用“rubygems”?
此外,如果您正在使用bundler,则必须将此gem添加到Gemfile中,因为bundler会尝试对依赖项进行沙箱处理。如果您正在使用bundler,请在将gem添加到Gemfile后尝试以下操作:
bundle exec rake cucumber