所以我正在寫一些rspec測試,我很尷尬,因爲我缺乏對Ruby的理解。紅寶石需要'文件'和相對位置
我有一個文件結構如下所示:
- GUI_Tests /測試/ test_spec.rb
- GUI_Tests/windows_gui.rb
- GUI_Tests/upload_tool.rb
當我運行test_spec.rb文件的規範時,我需要包含upload_tool文件,如下所示:
spec -r ../upload_tool -fs test_spec.rb
然後,upload_tool需要windows_gui.rb,就像這樣:
require '../windows_gui'
我的問題是,爲什麼讓我不得不引用相對windows_gui.rb到test_spec.rb(需要../),而不是upload_tool.rb?這對我來說是錯誤的,我想要在測試規範的背景下使用upload_tool.rb,這意味着每次都需要更改。
顯然我錯過了一些東西,但如果我沒有引用相對於測試規範,我得到一個文件未找到錯誤。
對不起,在這裏很無知,但我空手而來。任何想法讚賞。
BB
不要感覺不好 - 我覺得處理相對路徑是關於ruby最討厭的事情之一。我已經列出它[你想在紅寶石語言中改進的東西](http://stackoverflow.com/questions/585457/what-are-the-things-you-would-like-improved-in -ruby-language/3261063#3261063) – 2010-07-16 00:24:41
2012年8月 - 請注意,這篇文章現在已經兩歲了。現在大多數人都在1.9.2上。看到這篇文章http://stackoverflow.com/questions/9345412/relative-file-path-in-rspec也爲最好的解決方案(2012年2月) – 2012-08-26 14:20:59