2012-01-18 11 views
16

Libnotify tarafından sağlanan bildirimlerle Guard'ı başarıyla çalıştırıyorum. Güvenlik w/RSpec2, Ruby1.9.3, Raylar 3.1.3

[email protected]:~/railsprojects/sample_app$ guard 
Guard uses Libnotify to send notifications. 
Guard is now watching at '/home/funkdified/railsprojects/sample_app' 
Guard::RSpec is running, with RSpec 2! 
Running all specs 
... 

Finished in 0.06053 seconds 
3 examples, 0 failures 

ben terminalde ve bir pop-up bildirim ile hem ben testin sonuçlarına olarak uyarı am spec dosyasını değiştirirseniz

. Bir denetleyici dosyasını değiştirirsem, tekrar testler normal olarak çalışır. Ancak, route.rb'yi değiştirdiğimde, tüm şeyler yüzüne düşer ve Guard normal çalışmayı durdurur ve bir hata verir. Herhangi bir fikri olan var mı?

Hata:

Running: spec/routing 
/home/funkdified/.rvm/gems/[email protected]/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load': cannot load such file -- /home/funkdified/railsprojects/sample_app/spec/routing (LoadError) 
    from /home/funkdified/.rvm/gems/[email protected]/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `block in load_spec_files' 
    from /home/funkdified/.rvm/gems/[email protected]/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `map' 
    from /home/funkdified/.rvm/gems/[email protected]/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files' 
    from /home/funkdified/.rvm/gems/[email protected]/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22:in `run' 
    from /home/funkdified/.rvm/gems/[email protected]/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process' 
    from /home/funkdified/.rvm/gems/[email protected]/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run' 
    from /home/funkdified/.rvm/gems/[email protected]/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `block in autorun 

, söz unuttum ben Guard ve yeniden öldürürseniz o Guard tekrar bir test şimdi başarısız olduğuna işaret normalde gerçekleştirir (routes.rb değişiklik yaptıktan sonra):

[email protected]:~/railsprojects/sample_app$ guard 
Guard uses Libnotify to send notifications. 
Guard is now watching at '/home/funkdified/railsprojects/sample_app' 
Guard::RSpec is running, with RSpec 2! 
Running all specs 
..F 

Failures: 

    1) PagesController GET 'about' returns http success 
    Failure/Error: get 'about' 
    ActionController::RoutingError: 
     No route matches {:controller=>"pages", :action=>"about"} 
    # ./spec/controllers/pages_controller_spec.rb:22:in `block (3 levels) in <top (required)>' 

Finished in 0.0576 seconds 
3 examples, 1 failure 

Failed examples: 

rspec ./spec/controllers/pages_controller_spec.rb:21 # PagesController GET 'about' returns http success 

cevap

30

spec dizininizi kontrol edin. Yönlendirme özellikleri için routing alt dizin olmalıdır. Değilse, sadece boş bir tane oluşturun. Görünüşe göre, RSpec rails g rspec:install çalışırken spec altında herhangi bir alt dizin oluşturmaz, ancak bekçi orada olmasını bekler.

2

Sana senin Guardfile aşağıdaki satırı olabilir düşünüyorum: Eğer spec/routing yılında gözlük yoksa

watch('config/routes.rb')       { "spec/routing" } 

, o zaman gerekmez klasör yok. çizgi değiştirin: Eğer routes.rb dosyasını güncellemek Şimdi ne zaman

watch('config/routes.rb')       { "spec" } 

, tüm özellikleri çalışır.