2010-12-10 8 views
6

Así que he tenido muchos problemas últimamente para que autotest funcione en mi aplicación rails3. En lugar de seguir jugueteando con ella con la esperanza de que funcione, comencé a buscar alternativas. En este momento parece que watchr es una gran alternativa. Pero quería preguntar, ¿hay alguna ventaja particular de usar una sobre la otra? Lo más obvio que puedo decir es que watchr toma un poco más para configurar. Sin embargo, después de eso parece "solo funcionar". Por lo tanto, el intercambio parece valer la pena para mí, pero ¿cuáles son algunos otros pros/contras?watchr vs autotest para aplicaciones de rieles

Además, no estoy muy familiarizado con lo que es spork o cómo funciona, pero ¿se puede usar con spork y me permite obtener la ventaja de que las pruebas en raíles se ejecutan mucho más rápido?

Respuesta

10

Recientemente tuve un problema con autotest, porque es desagradable si no utiliza la estructura de archivos que espera. Por lo tanto, le di una oportunidad a watchr y estoy muy contento.

Si solo desea ejecutar sus pruebas automáticamente después del cambio, ambas herramientas son iguales. Autotest funcionará de la caja en un proyecto de rieles, mientras que watchr necesita un archivo de configuración para ejecutarse. Entonces hay un poco de sobrecarga para watchr. Sin embargo, hay varios proyectos que configuraron watchr para comportarse como autotest.

Tan pronto como desee utilizar un comando personalizado cada vez que se cambie un archivo específico, Watchr muestra su fuerza. Por ejemplo, ejecuta rake annotate cada vez que schema.rb cambia o genera documentos actualizados cada vez que se cambian archivos importantes.

Tal comportamiento es posible en watchr a través de su sintaxis de configuración simple: watch('regular expression') {|match_data| your_command match_data[0]}. Para ejecutar todas las características de color se llama watchr config_file.rb, mientras config_file.rb contiene

watch ('spec/.*_spec\.rb') {|md| system "rspec -c spec/"} 

Desde watchr parece funcionar con nestor (que es similar a spork), debería ser posible integrar spork también.

En resumen: watchr es mucho más flexible que el autotest, pero necesita una cierta configuración para empezar. watchr debería poder trabajar muy bien con spork.

Cuestiones relacionadas