我有一个我一直在努力的小项目。 在这个项目中,我一直在使用rspec来测试类,所以我的项目文件夹的结构如下:
.
+--lib
| +-- # bunch of classes
|
+--spec
| +-- # bunch of tests
在项目根目录中,如果我运行rspec
,所有测试都会正确运行。
但是,如果我通过命令行运行主脚本,如下所示:ruby lib/main.rb
,那么我收到此错误:
`require': cannot load such file
如果我将所有要求更改为./lib/class_name
它可以正常工作,但rspec
会停止工作。
这样做的正确方法是什么?
答案 0 :(得分:0)
所以,我接受了Sergio Tulentsev的建议并设置了$LOAD_PATH
,这解决了我的问题!
为此,我在主脚本的开头添加了以下代码:
$LOAD_PATH.unshift(File.dirname(__FILE__))
此代码将当前文件目录添加到$LOAD_PATH
的开头(这是require用于挂载所需文件路径并加载它们的数组)。
换句话说,我的主脚本能够将lib
添加到$LOAD_PATH
并修复要求。