ruby on rails - Problemas con Guard, Spork, Rspec y Rails 3
ruby-on-rails ruby-on-rails-3 (2)
Si no desea eliminar la carpeta de prueba, simplemente puede decirle a guard que la ignore:
guard ''spork'', test_unit: false do
# ...
end
He seguido el video de spork railscast y me da el siguiente error cuando intento ejecutar guardia:
Guard is now watching at ''/Users/m/work/''
Starting Spork for Test::Unit & RSpec
Couldn''t find a supported test framework that begins with ''testunit''
Supported test frameworks:
( ) Cucumber
(*) RSpec
Legend: ( ) - not detected in project (*) - detected
Using RSpec
Preloading Rails environment
Loading Spork.prefork block...
Spork is ready and listening on 8989!
--> ERROR: Could not start Spork server for Test::Unit & RSpec. Make sure you can use it manually first.
Guard::RSpec is running, with RSpec 2!
Running all specs
Parece que el servidor spork arranca bien y luego se produce un error y trata de continuar. He intentado hacer la opción: esperar 120 segundos y todavía tiene el mismo problema.
Spork funciona bien si ejecuto las pruebas sin guard & guard-spork
Ambiente:
- Mac OS X
- rieles (3.1.1)
- guardia (0.8.8)
- guard-rspec (0.5.4)
- spork (0.9.0.rc9)
- guardia-spork (0.3.1)
¿Cómo me ocuparía de la depuración de este problema? No tengo idea de por dónde empezar.
Tuve exactamente este problema en Ubuntu. Mi solución fue bastante simple:
1) detuve la guardia
2) He eliminado la carpeta de prueba
3) comenzo la guardia
Esta vez, en lugar de ver Starting Spork for Test :: Unit & RSpec, obtuve Starting Spork for RSpec. Así que spork reconoció automáticamente que mi carpeta de prueba ya no era necesaria y todo funcionó con dulzura.
Curiosamente la
Supported test frameworks:
( ) Cucumber
(*) RSpec
El mensaje también desapareció y obtuve exactamente los resultados esperados según Railscast.
Las únicas conclusiones que puedo sacar son:
1) Esto no es un problema dependiente del sistema operativo.
2) spork, rspec y la unidad de prueba no funcionan bien en las aplicaciones Rails> v3.x, lo que tiene sentido. No necesitas los dos. ACTUALIZACIÓN: consulte la respuesta actualizada a continuación si desea ambas.
Obviamente, seguí las instrucciones de Railscast muy de cerca, pero te sugiero seriamente que consideres eliminar la carpeta de prueba.
ACTUALIZACIÓN Se debe tener en cuenta que es posible lograr que ambos jueguen bien juntos según el comentario a continuación de @yuvilio, de la cual sigue una cita:
No creo que el problema sea que no se lleven bien. Tengo a Cucumber / Rspec / testunit para jugar bien entre ellos en spork. En mi archivo gem, además de las gemas relacionadas con rspec / cucumber / guard, agregué spork-testunit, guard-test, ruby-prof gems y ejecuté el paquete de instalación. Luego, reinicié testunit: bundle exec spork testunit --bootstrap.A continuación, test personalizado / test_helper.rb. Luego actualicé el archivo guard guardando testunit: bundle exec guard init test. Cuando ejecuté Guard, obtuve una salida que incluía el servidor Spork para RSpec, Cucumber, Test :: La unidad se inició correctamente