Estoy teniendo una suspensión de prueba en nuestra aplicación de rieles no puede determinar cuál (ya que se bloquea y no llega al informe de fallas). Encontré esta entrada de blog http://bmorearty.wordpress.com/2008/06/18/find-tests-more-easily-in-your-testlog/ que agrega un gancho de instalación para imprimir el nombre de la prueba, pero cuando trato de hacer lo mismo, me da un error que dice que el número de argumentos es incorrecto para la configuración (1 para 0). Cualquier ayuda sería apreciada.Suspensión de prueba de rieles: ¿cómo puedo imprimir el nombre de prueba antes de la ejecución?
Respuesta
Si ejecuta la prueba usando el rastrillo que va a funcionar:
rake test:units TESTOPTS="-v"
¿Qué marco de prueba estás usando? Prueba/Unidad?
Me gustaría echar un vistazo a RSpec que proporcionaría un poco más de contexto para sus pruebas. También puede obtener un informe HTML agradable que se parece a esto:
RSpec Result http://myskitch.com/robbyrussell/rspec_results-20070801-233809.jpg
Tenía que tenía todas las pruebas en su defecto, la prueba específica serían rojo y se expandirían a las líneas específicas en las que la prueba no proporcionó usted más visibilidad sobre por qué falló la prueba y dónde debes buscar para resolver el problema.
La definición en la publicación de blog debe ser específica (el método de configuración (& bloque) se define en el módulo Thoughtbot :: Shoulda en context.rb. Shoulda.rb y luego TestCase extiende ese módulo).
La definición de pura prueba :: unidad es
# File test/unit/testcase.rb, line 100
def setup
end
lo que podría hacer es
def setup
log_test
end
private
def log_test
if Rails::logger
# When I run tests in rake or autotest I see the same log message multiple times per test for some reason.
# This guard prevents that.
unless @already_logged_this_test
Rails::logger.info "\n\nStarting #{@method_name}\n#{'-' * (9 + @method_name.length)}\n"
end
@already_logged_this_test = true
end
edición
si realmente no quiere editar su archivos puede arriesgarse a volver a abrir el caso de prueba y extender la ejecución en su lugar:
class Test::Unit::TestCase
alias :old_run :run
def run
log_test
old_run
end
end
esto debería funcionar (no tengo rubíes en torno a la prueba aunque)
Me rindo! (en frustración)
Comprobé el código y los rieles en realidad hacen magia detrás de la escena, lo que probablemente explica por qué la redefinición de ejecución no funciona.
Lo que pasa es que parte de la magia es incluir ActiveSupport :: CallBack y crear devoluciones de llamada para la configuración y el desmontaje.
lo que significa
class Test::Unit::TestCase
setup :log_test
private
def log_test
if Rails::logger
# When I run tests in rake or autotest I see the same log message multiple times per test for some reason.
# This guard prevents that.
unless @already_logged_this_test
Rails::logger.info "\n\nStarting #{@method_name}\n#{'-' * (9 + @method_name.length)}\n"
end
@already_logged_this_test = true
end
end
end
definitivamente debe trabajar
y en realidad la ejecución de pruebas con el que hace el trabajo. donde estoy confundido es que esto es lo primero que intenté y falló con el mismo error que obtuviste
una moneda por el esfuerzo. – nurettin
La impresión del nombre de la prueba es responsabilidad del TestRunner. Si está ejecutando sus pruebas desde la línea de comando, puede especificar la opción -v para imprimir los nombres de caso de prueba.
ejemplo:
ruby test_Foo.rb -v
Loaded suite test_Foo
Started
test_blah(TestFoo): .
test_blee(TestFoo): .
Finished in 0.007 seconds.
2 tests, 15 assertions, 0 failures, 0 errors
Esto es lo que yo uso, en test_helper.rb
class Test::Unit::TestCase
# ...
def setup_with_naming
unless @@named[self.class.name]
puts "\n#{self.class.name} "
@@named[self.class.name] = true
end
setup_without_naming
end
alias_method_chain :setup, :naming unless defined? @@aliased
@@aliased = true
end
La variable @@ alias previene de ser re-alias cuando se ejecuta en varios archivos a la una vez; @@ named evita que se muestre el nombre antes de cada prueba (justo antes de la primera ejecución).
Gracias a todos por su ayuda, terminé examinando las pruebas y agregando una llamada al nombre de registro en cada uno de los métodos de configuración para cada archivo de prueba antes de que surgieran estas últimas respuestas. Gracias de nuevo.
- 1. rieles de prueba funcional
- 2. ¿Cómo obtener el nombre del método de prueba de la unidad en tiempo de ejecución dentro de la prueba unitaria?
- 3. ejecución de unidad de rieles individuales/prueba funcional
- 4. ¿Cómo obtengo la base de datos de prueba Rails para reconstruir antes de cada prueba?
- 5. Cómo ejecutar "paquete" antes de "prueba"
- 6. Rieles: rake db: prueba: preparar Vs prueba de rastrillo: Preparar
- 7. Rieles y selenio: cómo detener/pausar la ejecución de una prueba en el navegador?
- 8. prueba de attachment_fu en rieles 3
- 9. Cómo acelerar la ejecución de la prueba de grails
- 10. En Boost.Test, ¿cómo obtener el nombre de la prueba actual?
- 11. ¿Cómo automatizar el proceso de ejecución de prueba usando TestComplete?
- 12. rieles Prevenir la prueba de eliminación de datos de semillas
- 13. Accesorios de la caja de prueba de rieles no cargando
- 14. ¿Cómo puedo iniciar la consola de rieles y usar la base de datos de prueba exclusivamente?
- 15. prueba de unidad de android: borrar prefs antes de la actividad de prueba
- 16. imprimir informacion en "modo de prueba" pero no en "la ejecución normal"
- 17. migraciones Correr contra el entorno de prueba rieles
- 18. Ejecución de un solo método de prueba
- 19. ¿Cómo obtener el nombre del caso de prueba en JUnit 4 en tiempo de ejecución?
- 20. Prueba de la herencia de prueba
- 21. Prueba de integración de rieles con la gema del ingenio
- 22. Cómo puedo agregar una propiedad del sistema Java durante la Ejecución de la prueba JUnit
- 23. la ejecución de una prueba en el servidor SQL 2005
- 24. ¿Cómo se prueba el tiempo de ejecución del código VBA?
- 25. Prueba de rieles para tipo hash
- 26. autorize.net disminuye la prueba en el modo de prueba
- 27. Recuperar el nombre de la prueba en TestNG
- 28. Averiguar cobertura de la prueba
- 29. Obtener el nombre de la prueba RSpec completa desde el interior de un antes (: cada uno) bloquear
- 30. La ejecución de JavaScript desde un pepino/Carpincho prueba
La prueba está colgando, no en su defecto, por lo que esta respuesta no es relevante. –