2009-11-07 100 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