2013-04-29 120 views
5

我只用了三天的時間把我的頭撞在牆上試圖弄清楚爲什麼一個簡單的'rake'不能通過我的spec文件。無法讓RSpec工作 - 'require':無法加載這樣的文件

如果這發生在你身上:沒有任何文件夾路徑的空間!認真。事實上,你從這裏命名的任何東西都沒有空間。

這裏是我的控制檯輸出:

(在/Users/*****/Desktop/Learning Ruby/learn_ruby

$ rake 
/Users/*******/Desktop/Learning Ruby/learn_ruby/00_hello/hello_spec.rb:116: 
    in `require': cannot load such file -- hello (LoadError) 
+0

會發生什麼? – 2013-04-29 18:22:40

+0

這是一個Rails應用程序嗎?獨立的紅寶石應用程序? – 2013-04-29 18:30:00

+0

這是一個紅寶石應用程序。 當我運行rspec的它打印出更多的文件位置(即不在,我在出於某種原因,文件位置),並執行以下操作: 「負荷「:無法加載此類文件」 – tomgalpin 2013-04-29 18:42:43

回答

5

失敗是由於線路引起的:require "hello"

這行告訴紅寶石,它需要搜索的負載路徑對於名爲hello.rb的文件。但是,當它查看加載路徑時,它無法找到該文件。您應該刪除該行並直接在spec文件中定義您的代碼,或者創建一個hello.rb文件。

較新版本的RSpec(2.11+我相信)自動將子目錄lib添加到加載路徑。根據您的Rakefile看來您還正在加載當前實驗目錄和子目錄solution

我猜你希望你的解決方案在solution/hello.rb

+0

我會給那一槍。我很感激。 – tomgalpin 2013-04-29 18:51:11

+0

我用本教程中包含的Rakefile代碼添加了我的控制檯輸出的詳細信息。 – tomgalpin 2013-04-29 20:35:34

+0

好的,這有幫助。看起來它找到了你的spec文件,但找不到相關的代碼。你能粘貼你的規格文件嗎?你的'hello.rb'文件存儲在哪裏? – 2013-04-29 21:35:17

3

什麼工作對我來說是改變需要聲明的require_relative

我使用Windows和一個IDE,當你只是運行`rspec`

相關問題