2009-11-07 108 views
1

我正在使用RSpec的模拟框架插件,名为NotAMock(http://github.com/notahat/not_a_mock)。我使用Ruby建模业务层,因此我的项目主要由普通的旧Ruby对象(PO​​RO's)组成。我已将我的规格放在项目目录的“规格”目录中,并将NotAMock放入规格目录中。当我运行我的规格时,我会从项目根目录中执行此操作。但是,NotAMock有自己的目录,并且包含诸如'require NotAMock/library'等文件。因此,当我运行规格时,出现错误,指出找不到Notamock文件。有没有办法将NotAMock目录添加到RSpec的搜索路径?添加到RSpec的搜索路径

这里是我的项目结构的一个例子:

----- my_business_library1.rb

----- my_business_library2.rb

---- |规格

----- spec1.rb 
    ----- spec2.rb 
    ----- not_a_mock.rb 
    ----| NotAMock 
     ----- not_a_mock_file1.rb 
     ----- not_a_mock_file2.rb 

回答

1

也许 “$ LOAD_PATH” 变量可以帮助你。
它存储在其中需要方法搜索Ruby文件

$LOAD_PATH << './NotAMock' 
require 'NotAMock/library' 
+0

感谢马克的目录。这需要将该行添加到每个规范文件,但是对吗?有没有办法避免将它添加到每个文件? – 2009-11-10 13:15:21

+0

我想你只需要修改一次LOAD_PATH变量,因为它是一个全局变量 – 2009-11-11 19:39:32