2009-10-12 16 views
12

El resultado siguiente aparece después de ejecutar algunas tareas rake:mensajes y resultados de pruebas aparece después de ejecutar la tarea en el rastrillo de aplicación Rails

Loaded suite /usr/bin/rake 
Started 

Finished in 0.00042 seconds. 

0 tests, 0 assertions, 0 failures, 0 errors 

Esta salida no es útil o necesario para las tareas no relacionadas con las pruebas. Me gustaría evitar que aparezca. Yo asumiría que proviene de requerir cierto archivo o incluir cierto módulo.

Actualizado: Parece que estaba equivocado y esto aparece durante algunas de las tareas integradas en Rails. Aquí está la salida de los dispositivos que se cargan con --trace.

$ rake db:fixtures:load --trace 

** Invoke db:fixtures:load (first_time) 
** Invoke environment (first_time) 
** Execute environment 
** Execute db:fixtures:load 
Loaded suite /usr/bin/rake 
Started 

Finished in 0.000255 seconds. 

0 tests, 0 assertions, 0 failures, 0 errors 

Respuesta

11

solución se puede encontrar aquí:

http://github.com/thoughtbot/shoulda/issues/#issue/59

Básicamente no requieren la gema la debería haber menos que sea el entorno de prueba (donde ya se requeriría test/unit).

+0

Gracias por la respuesta fowlduck. Estabas en lo correcto Habíamos realizado la llamada a config.gem dentro de environment.rb en lugar de environments/test.rb – Jared

+0

En un proyecto de carriles 3.2.2, vi este comportamiento (la unidad de prueba se ejecuta después de tareas de rake seleccionadas) y el problema era que tenía que haberlo hecho. el grupo: prueba,: bloque de desarrollo. Moviéndolo al bloque de prueba (junto con otros que había puesto perezosamente en ambos) eliminé la llamada a la unidad de prueba. –

1

Primero compruebe el patrón de prueba para su Rake::TestTask. Debería ser algo así como 'test/**/*_test.rb'.

Por alguna razón, Test :: Unit está tratando de encontrar pruebas en el ejecutable /usr/bin/rake, lo que probablemente significa que tiene un patrón falso en alguna parte.

Cada vez que tenga problemas como este, desea ejecutar rake con --trace para ver qué tareas y dependencias de tareas se están ejecutando, y en qué orden. Si la actualización del patrón no funciona, copie la salida de una ejecución completa con --trace activada en su pregunta.

+0

Uno de los otros desarrolladores con los que trabajo en el proyecto recientemente vendored todo de nuestras gemas Es posible que esta es la causa? Los únicos lugares que llaman a Rake :: TestTask están en los directorios de gemas y complementos incluidos. – Jared

+0

Difícil de decir sin la salida de '--trace'. Si no hay una tarea de prueba explícita, probablemente quieras escribir la tuya. La tarea de prueba predeterminada no hará nada útil, como verificar la cobertura de tu código. En cualquier caso, si se ejecuta una prueba para cualquier tarea de rake arbitraria, ha arruinado dependencias de tareas, y necesita usar '--trace' para depurarlo. –

+0

Bob, intenté ejecutar una tarea con seguimiento, pero no me dijo nada más. Todo lo que descubrí es que sea lo que sea que las salidas se ejecutan después de que se complete mi código. – Jared

0

llegué a este archivo: ~/.rvm/rubíes/Ruby-1.9.2-cabeza/lib/ruby ​​/ 1.9.1/minitest/unit.rb

Y en la línea 498 (justo después " def self.autorun ") que puse:

return # the user of this computer put this here, because of reasons 

no creo que este método va a hacer que me quedé como le falta ...

Cuestiones relacionadas