2011-09-30 20 views
9

Las tareas de rastreo tienen el mismo problema que las pruebas en ejecución: el proceso de arranque de Rails demora mucho tiempo antes de que la tarea se ejecute.¿Puede trabajar Spork con tareas de rake?

¿Hay alguna forma de integrar spork y rake juntos?

+0

añadí mi propia respuesta por debajo de Zeus (https: // github. com/burke/zeus). También está la gema rails/command en la que DHH está trabajando (https://github.com/rails/commands). – matthuhiggins

Respuesta

4

descubrí Zeus hoy. Es lo mejor que nunca, por lo que estoy cambiando mi respuesta a Zeus:

https://github.com/burke/zeus

Zeus rastrillo mi: especial: tarea

+0

Fascinante ... * abre tricorder * – thekingoftruth

+0

zeus no funciona en Windows, entonces no es para mí. –

1

No existe una solución estándar como la que yo sepa.

El rastrillo no tiene la opción --drb y spork no puede ayudar aquí. Claro, la solución personalizada es posible. Esto requerirá la extensión del corredor de rake.

Creo que las tareas de rake se ejecutan no tan a menudo como las pruebas, por lo que la pregunta aún no se ha abordado.

+0

Gracias. Básicamente quiero algo como spin (https://github.com/jstorimer/spin), que bifurca un proceso de Rails cargado y todas las gemas. – matthuhiggins

3
rake test:units 
testdrb -I test/ test/unit/ 

rake test:functionals 
testdrb -I test/ test/functional/ 

rake test:integration 
testdrb -I test/ test/integration/ 
+0

Oh Dios, te amo hombre ... este es el comando que necesitaba: D – lfzawacki

7

Puede usar la gema irake que permite ejecutar tareas de rastrillado desde la consola.

añadir esto a Gemfile:

gem 'irake' 

Luego haz y de inicio de consola

$ bundle install 
$ rails console 

... y esperar a que los rieles entorno para cargar (sólo una vez). A continuación, puede hacer:

rake "db:migrate" 

Si desea una lista de tareas, puede:

Rake::Task.tasks.each{|t| puts t.name }; nil 
Cuestiones relacionadas