如何正确使用要求? - 红宝石

时间:2017-04-17 14:53:19

标签: ruby rspec require

我有一个我一直在努力的小项目。 在这个项目中,我一直在使用rspec来测试类,所以我的项目文件夹的结构如下:

.
+--lib
|   +-- # bunch of classes 
|
+--spec
|   +-- # bunch of tests

在项目根目录中,如果我运行rspec,所有测试都会正确运行。

但是,如果我通过命令行运行主脚本,如下所示:ruby lib/main.rb,那么我收到此错误:

`require': cannot load such file

如果我将所有要求更改为./lib/class_name它可以正常工作,但rspec会停止工作。

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

所以,我接受了Sergio Tulentsev的建议并设置了$LOAD_PATH,这解决了我的问题!

为此,我在主脚本的开头添加了以下代码:

$LOAD_PATH.unshift(File.dirname(__FILE__))

此代码将当前文件目录添加到$LOAD_PATH的开头(这是require用于挂载所需文件路径并加载它们的数组)。

换句话说,我的主脚本能够将lib添加到$LOAD_PATH并修复要求。