0
所以,我想創建一個寶石與lib文件夾和RSpec的測試,一個規範的文件夾,例如:香草紅寶石rspec的不能看到我的文件
- 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'
的規範文件不起作用。當我沒有明確設置的路徑與-I .
運行rspec的(或耙規範),它無法加載文件:
foo_spec.rb:1 in `require': cannot load such file -- lib/my_gem.rb (LoadError)
我覺得我不應該要求每一個規範中的一個spec_helper.rb剛解決這個問題,我也不應該每次都指定rspec的加載路徑。必須有一個簡單的約定,我缺少,因爲我是寶石開發的新手(我通常只做軌道)。
編輯:我應該指出,我很清楚我可以require_relative '../../lib/my_gem.rb'
。關鍵是我希望能夠像我習慣在rails中那樣自動獲取根文件夾到我的路徑上。如果這是不可能的,請讓我知道。
是的,這個工程,我已經在這裏降落在這裏,但它似乎是不必要的複雜。不rspec有自動獲取根文件夾到路徑上的方法嗎? – mellowfish
它應該如何知道「根文件夾」是什麼?它知道在Rails之下,因爲它具有Rails環境,所有合適的需求路徑已經被添加。如果沒有Rails,你最好的最好的可能是在每個規範中要求'spec_helper';可以簡單地將'../ ..'添加到搜索路徑數組'$:'中 – Chowlett