Mirado this question ya, y que más o menos la forma en espejos Yo ahora toda mi suite.¿Cómo ejecutar un paquete completo de MiniTest sin Rake?
Además, he configurar la siguiente tarea rake:
Rake::TestTask.new do |t|
t.name = "spec:models"
t.libs << "test"
t.pattern = "spec/models/*_spec.rb"
end
pero noto cuando corro esto utilizando time rake spec:models
, que se completa en aproximadamente 2,36 segundos. Si ejecuto todas las pruebas individuales en ese directorio usando ruby /path/to/spec.rb
(todos están aislados de ActiveRecord actualmente - sin persistencia aún, tan súper rápido), su tiempo total acumulado del usuario es 2.36 segundos, pero también estoy notando que cada archivo toma 0.4 segundos de usuario para ejecutar de principio a fin, el tiempo real de "prueba" informado por MiniTest es mucho, mucho más rápido (de modo que todo mi conjunto, después de las dependencias de carga, debería ejecutarse en menos de 0,15 segundos ish, no en 2,36 segundos).
Ejemplo (para un archivo de especificaciones):
Started
11/11: 100% |======================================| Time: 00:00:00
Finished in 0.02223s
11 tests, 15 assertions, 0 failures, 0 errors, 0 skips
ruby path/to/spec.rb 0.43s user 0.06s system 88% cpu 0.559 total
Sospecho que Rake está recargando bibliotecas entre la ejecución de cada prueba, y eso es lo que representa el tiempo extra. ¿Hay alguna forma de que pueda verificar esto o ejecutar todo mi paquete sin usar Rake?
Por cierto, cuando digo "tiempo al usuario" antes, me refiero a la primera serie emitida anteponiendo time
a mi mando rubí para ejecutar un archivo de prueba única, por lo time ruby /path/to/spec.rb
= ruby path/to/spec.rb 0.43s user 0.06s system 88% cpu 0.559 total
¿Alguna vez encontró una solución para esto? –