rails ruby-on-rails-3 guard

ruby on rails 3 - Guard w/RSpec2, Ruby1.9.3, Rails 3.1.3



guard livereload rails (2)

Estoy ejecutando Guard con éxito con las notificaciones proporcionadas por Libnotify.

funkdified@funkdified-laptop:~/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

Si modifico el archivo de especificaciones, se me avisa sobre los resultados de la prueba, tanto en el terminal como con una notificación emergente. Si modifico un archivo de controlador, nuevamente las pruebas se ejecutan normalmente. Sin embargo, cuando modifico route.rb, todo se cae de cara y Guardia deja de funcionar normalmente y arroja un error. ¿Alguien tiene alguna idea?

Error:

Running: spec/routing /home/funkdified/.rvm/gems/ruby-1.9.3-p0@rails3tutorial/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/ruby-1.9.3-p0@rails3tutorial/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `block in load_spec_files'' from /home/funkdified/.rvm/gems/ruby-1.9.3-p0@rails3tutorial/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `map'' from /home/funkdified/.rvm/gems/ruby-1.9.3-p0@rails3tutorial/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files'' from /home/funkdified/.rvm/gems/ruby-1.9.3-p0@rails3tutorial/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22:in `run'' from /home/funkdified/.rvm/gems/ruby-1.9.3-p0@rails3tutorial/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process'' from /home/funkdified/.rvm/gems/ruby-1.9.3-p0@rails3tutorial/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run'' from /home/funkdified/.rvm/gems/ruby-1.9.3-p0@rails3tutorial/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `block in autorun

Olvidé mencionar, si mato a Guard y reinicio (después de hacer cambios en route.rb), Guard vuelve a funcionar normalmente, sugiriendo que una prueba ha fallado:

funkdified@funkdified-laptop:~/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


Creo que puede tener la siguiente línea en su Guardfile :

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

Si no tiene especificaciones en las spec/routing , entonces no la carpeta que no necesita. Cambia la línea a:

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

Ahora, todas sus especificaciones se ejecutarán cuando actualice su archivo routes.rb .


Revise su directorio de spec . Debe tener un subdirectorio de enrutamiento para las especificaciones de enrutamiento. Si no, solo crea uno vacío. Al parecer, RSpec no crea ningún subdirectorio bajo la spec cuando se ejecutan rails g rspec:install , pero rails g rspec:install espera que esté allí.