2012-02-01 14 views
1

私はRuby on Rails Tutorialと一緒に従います。Guard Ruby On Rails 3.2チュートリアル

Guardは、いくつかのファイル(ビューまたはコントローラファイル)を保存した後でしか動作しませんが、他のもの(ルートまたは仕様ファイル)を保存すると動作しません。私は警備員にスパークに引っ掛けてもらいました。私はガード/先割れスプーンを実行しているコンソールウィンドウを見たとき、私は非実行中のテストを保存した後

は、私がエラーに気づいた:

Exception encountered: #<LoadError: no such file to load -- /Users/Tyler/Development/FirstRails/sample_app/spec/routing 

私はガードファイルの構文が何であるかわからないんだけど、私は例をコピーしました。特に

# A sample Guardfile 
# More info at https://github.com/guard/guard#readme 

guard 'rspec', :version => 2, :all_after_pass=>false, :cli => '--drb' do 
    watch(%r{^spec/.+_spec\.rb$}) 
    watch(%r{^lib/(.+)\.rb$})  { |m| "spec/lib/#{m[1]}_spec.rb" } 
    watch('spec/spec_helper.rb') { "spec" } 

    # my edits 
    watch(%r{^app/controllers/(.+)_(controller)\.rb$}) do |m| 
    ["spec/routing/#{m[1]}_routing}spec.rb", 
    "spec/#{m[2]}s/#{m[1]}_${m[2]}_spec.rb", 
    "spec/acceptance/#{m[1]}_spec.rb", 
    "spec/requests/#{m[1]}_spec.rb"] 
end 

    # Rails example 
    watch(%r{^spec/.+_spec\.rb$}) 
    watch(%r{^app/(.+)\.rb$})       { |m| "spec/#{m[1]}_spec.rb" } 
    watch(%r{^app/(.*)(\.erb|\.haml)$})     { |m| "spec/#{m[1]}#{m[2]}_spec.rb" } 
    watch(%r{^lib/(.+)\.rb$})       { |m| "spec/lib/#{m[1]}_spec.rb" } 
    watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#  {m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/# {m[1]}_spec.rb"] } 
    watch(%r{^spec/support/(.+)\.rb$})     { "spec" } 
    watch('spec/spec_helper.rb')      { "spec" } 
    watch('config/routes.rb')       { "spec/routing" } 
    watch('app/controllers/application_controller.rb') { "spec/controllers" } 
    # Capybara request specs 
    watch(%r{^app/views/(.+)/.*\.(erb|haml)$})   { |m| "spec/requests/#{m[1]}_spec.rb" } 
end 

guard 'spork', :cucumber_env => { 'RAILS_ENV' => 'test' }, :rspec_env => { 'RAILS_ENV' => 'test' } do 
    watch('config/application.rb') 
    watch('config/environment.rb') 
    watch(%r{^config/environments/.+\.rb$}) 
    watch(%r{^config/initializers/.+\.rb$}) 
    watch('Gemfile') 
    watch('Gemfile.lock') 
    watch('spec/spec_helper.rb') 
    watch('test/test_helper.rb') 
end 

、私の編集:ここではガードファイルがある

# my edits 
    watch(%r{^app/controllers/(.+)_(controller)\.rb$}) do |m| 
    ["spec/routing/#{m[1]}_routing}spec.rb", 
    "spec/#{m[2]}s/#{m[1]}_${m[2]}_spec.rb", 
    "spec/acceptance/#{m[1]}_spec.rb", 
    "spec/requests/#{m[1]}_spec.rb"] 
end  

私はスペック/ルーティングフォルダを持っていません。

誰でも簡単な入力ミスがありますか?それとも私が持っている必要があるいくつかの他の考慮事項はありますか?

が、私はレールの上だ3.2

おかげ

+0

spec/routingディレクトリがない場合、なぜそれを見ていますか? :-) –

+0

私はチュートリアルに従っていた –

答えて

2

はそれを見つけた:

["spec/routing/#{m[1]}_routing}spec.rb", 

お知らせをroutingspec

間の第二}は今読み:

["spec/routing/#{m[1]}_routing_spec.rb", 

欠落しているディレクトリshananigansについても説明します。

ありがとうございます!私はこれが実行されて気づいた

watch(%r{^spec/.+_spec\.rb$}) 
watch(%r{^lib/(.+)\.rb$})  { |m| "spec/lib/#{m[1]}_spec.rb" } 
watch('spec/spec_helper.rb') { "spec" } 

1

は(私はここに新たなんだ、多分ので)あなたの答えタイラーにコメントすることはできませんが、私はあなたがGuardfileで数行を繰り返したと思います2回のテスト。これを解決した重複する行を削除します。

関連する問題