2011-11-18 12 views
25

He seguido el spork railscast video y me da el siguiente error al intentar ejecutar la guardia:Problemas con el bloqueo, Spork, Rspec y Rails 3

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 se pone en marcha muy bien y luego comete errores y trata de continuar. Intenté hacer la opción: wait 120 segundos y todavía tiene el mismo problema.

Spork funciona bien si ejecuto las pruebas sin protector & guardia-spork

Medio Ambiente:

  • Mac OS X
  • rieles (3.1.1)
  • guardia (0.8.8)
  • guard-rspec (0.5.4)
  • spork (0.9.0.rc9)
  • guard-spork (0.3.1)

¿Cómo podría solucionar este problema? No tengo idea de por dónde empezar.

+1

¿Mantuvo la carpeta/prueba dentro de su aplicación? – apneadiving

+0

@apneadiving Yip Tengo una carpeta/prueba. Intenté configurar un nuevo proyecto de rieles con solo las gemas esenciales para las pruebas y una prueba simple (1 == 1) y todavía da el mismo error. – Mike

+3

¿Cómo obtendría un rastro de pila de guardia? Podría ser útil. – Mike

Respuesta

76

Tuve exactamente este problema en Ubuntu. Mi solución fue bastante simple:

1) que dejaron de guardia

2) He eliminado la carpeta de prueba

3) comenzó guardia

Esta vez, en lugar de ver Spork A partir de Test :: Unidad & RSpec, obtuve Starting Spork for RSpec. Entonces, spork automáticamente reconoció que mi carpeta de prueba ya no era necesaria y todo funcionó suavemente.

Curiosamente el mensaje

Supported test frameworks: 
() Cucumber 
(*) RSpec 

también desapareció y me dieron exactamente los resultados esperados como por Railscast.

Las únicas conclusiones a las que se puede topar con son:

1) Esto no es un problema depende del sistema operativo.

2) spork, rspec y la unidad de prueba no funcionan bien en las aplicaciones Rails> v3.x que tienen sentido. No necesitas ambos. ACTUALIZACIÓN: consulte la respuesta actualizada a continuación si desea ambas.

Obviamente, seguí las instrucciones de Railscast muy de cerca, pero sugiero seriamente que elimine la carpeta de prueba.

ACTUALIZACIÓN Cabe señalar que es posible conseguir tanto a jugar muy bien juntos como por el comentario anterior de @yuvilio, una cita de la que sigue:

no creo que la el problema es que no se llevan bien. Conseguí Cucumber/Rspec/testunit para jugar bien entre ellos en spork.En mi gemfile, además de las gemas relacionadas con rspec/cucumber/guard, agregué spork-testunit, guard-test, ruby-prof gems y ejecuté bundle install. Luego, inicié testunit: bundle exec spork testunit --bootstrap. Luego prueba personalizada/test_helper.rb. Luego, actualizó el archivo guard mirando por testunit: bundle exec guard init test. Cuando me encontré con guardia, llegué salida incluyendo el servidor de Spork RSpec, pepino, Test :: Unidad inició con éxito

+1

¡Perfecto! Gracias :-) – Mike

+0

Creo que otro culpable aquí podría haber growl_notify, growl parece funcionar mejor. – Mike

+1

Funcionó para mí también - gracias –

17

Si no desea eliminar la carpeta de prueba, se puede decir simplemente guardia para ignorarlo:

guard 'spork', test_unit: false do 
    # ... 
end 
Cuestiones relacionadas