2015-01-15 172 views
0

我真的想要學習Ruby,RoR和正確的BDD,並開始學習Rspec。我正在閱讀codeschool的Rspec教程(以及其他一些Nettuts的Rspec教程)。每當我嘗試讓Rspec運行時,我都會收到以下錯誤。我已經搜索了大部分的行,看看我需要編輯,甚至沒有得到更進一步的困惑!我通過線程進行搜索,卸載了RVM並重新安裝了RVM,在項目文件夾中安裝了rspec gem,並且按照我無法通過第一步看到測試失敗的各種內容!在這個問題上我正在瘋狂。我想學習和懷疑是否有人可以給我一些關於我白癡noob問題的反饋。是的,我是一個愚蠢的noob,但我想知道這一點。試圖讓rspec工作學習BDD

rspec /home/username/Desktop/zombie/spec/lib/zombie_spec.rb 
/home/mike/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- spec_helper (LoadError) 
    from /home/username/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /home/username/Desktop/zombie/spec/lib/zombie_spec.rb:1:in `<top (required)>' 
    from /home/username/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `load' 
    from /home/username/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `block in load_spec_files' 
    from /home/username/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `each' 
    from /home/username/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/configuration.rb:1105:in `load_spec_files' 
    from /home/username/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:96:in `setup' 
    from /home/username/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:84:in `run' 
    from /home/username/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run' 
    from /home/username/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke' 
    from /home/username/.rvm/gems/ruby-2.2.0/gems/rspec-core-3.1.7/exe/rspec:4:in `<top (required)>' 
    from /home/username/.rvm/gems/ruby-2.2.0/bin/rspec:23:in `load' 
    from /home/username/.rvm/gems/ruby-2.2.0/bin/rspec:23:in `<main>' 
    from /home/username/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `eval' 
    from /home/username/.rvm/gems/ruby-2.2.0/bin/ruby_executable_hooks:15:in `<main>' 

非常感謝。 另一個菜鳥小白只是試圖讓紅寶石的意義和RSpec .. mcsmythe

+0

錯誤消息引用了「spec_helper」,它通常是您創建的文件,用於定義所有項目規範的共享內容(例如加載項目庫或簡化測試的小例程) - 是否創建了此文件?我認爲這是值得展示你的測試腳本到目前爲止(或最短的版本,仍然給這個錯誤)。 – 2015-01-15 16:22:39

回答

2

嘗試CD-ING成/家庭/用戶名/桌面/殭屍和運行規範從那裏是這樣的:

rspec spec/lib/zombie_spec.rb 

你也運行:

rspec --init 

在那個目錄?這將爲您創建spec_helper。

+0

非常感謝。我最初在/ home/username/Desktop/zombie中cd'ed最初運行rspec init,它創建了spec_helper文件。但是一個簡單的錯誤(不更新保存在文本編輯器中)並且在運行rspec時沒有完整的文件路徑。再次感謝您指出。 – mcsmythe 2015-01-15 16:35:37

0

它看起來像rspec無法找到spec_helper.rb文件。你有機會看到this question?另外,請遵循ruby約定,並確保您的所有規格都位於specs文件夾中,例如spec_helper的路徑應該是specs/spec_helper.rb而不是lib/spec_helper.rb。你有沒有嘗試過使用require_relative而不是require?

+0

感謝您使用linK和有關正確的ruby約定的信息。這非常有幫助。 – mcsmythe 2015-01-15 17:20:31