香草红宝石rspec无法看到我的文件

时间:2014-01-30 06:58:13

标签: ruby rspec

所以,我正在尝试创建一个带有lib文件夹的gem和一个用于rspec测试的spec文件夹,如下所示:

- my_gem
|-- lib
| |-- my_gem
| | |-- foo.rb
| |
| |-- my_gem.rb
|
|-- spec
| |-- lib
|   |-- foo_spec.rb
|
|-- my_gem.gemfile
|-- Rakefile

my_gem.rb包含require 'my_gem/foo',效果很好。

但我试图require 'lib/my_gem'的spec文件不起作用。当我在没有使用-I .显式设置路径的情况下运行rspec(或rake spec)时,它无法加载文件:

foo_spec.rb:1 in `require': cannot load such file -- lib/my_gem.rb (LoadError)

我觉得我不应该在每个规范中都要求spec_helper.rb来解决这个问题,我也不应该每次都为rspec指定加载路径。我必须要有一个简单的约定,因为我不熟悉gem开发(我通常只做rails的东西)。


编辑:我应该指出,我很清楚我可以require_relative '../../lib/my_gem.rb'。关键是我希望能够像我习惯在rails中一样自动将根文件夹放到我的路径上。如果这是不可能的,请告诉我。

1 个答案:

答案 0 :(得分:3)

规范不知道lib/my_gem的路径。尝试

require_relative '../../lib/my_gem'