rspec无法使用require\u all查看我的lib文件夹中的对象

rspec无法使用require\u all查看我的lib文件夹中的对象,rspec,capybara,Rspec,Capybara,我计划使用rspec进行集成测试,使用cucumber进行应用程序的验收测试。我希望对这两个对象使用相同的页面对象。我已经将我的页面对象放在lib目录中,并且我已经设法让cumber看到这些对象,但是由于某些原因,rspec无法看到lib文件夹中的对象 我尝试过使用require_all方法。因此,我的等级库助手具有以下功能: $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) require 'require_a

我计划使用rspec进行集成测试,使用cucumber进行应用程序的验收测试。我希望对这两个对象使用相同的页面对象。我已经将我的页面对象放在lib目录中,并且我已经设法让cumber看到这些对象,但是由于某些原因,rspec无法看到lib文件夹中的对象

我尝试过使用require_all方法。因此,我的等级库助手具有以下功能:

$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'require_all'
require_all('lib') 
我的文件夹结构如下:

>selenium
  >features (this contains my cucumber scenarios, support dir with env file etc)
  >lib (this is the folder with the page objects contained in sub directories)
  >spec
    spec_helper.rb
    >features (rspec scenarios)
    >support
当我尝试使用命令rspectestfile.rb运行测试时,会收到错误消息:“rescue in require_all”:没有要加载的此类文件--lib(LoadError)”

有人知道我做错了什么吗?任何帮助都将不胜感激


谢谢

require\u all
正在查找与工作目录相关的文件夹。假设您正在从spec/features文件夹运行rspec命令,那么require_all('lib')正在features(即spec/features/lib)中查找lib文件夹。我不相信require_会检查$LOAD_路径

我建议使用
require\u rel
,因为它是相对于当前文件的。在spec_helper.rb中,改为执行以下操作

require 'require_all'
require_rel ('../lib')