2012-06-07 20 views
22

¿Cómo puedo encontrar una lista de las pruebas de rspec más lentas? Quiero refactorizar esos para correr más rápido. Intenté buscar gemas pero no puedo encontrar ninguna. Estaba pensando en poner algo enBusque una lista de pruebas rspec lentas

Rspec.before(:each) 

y

Rspec.after(:each) 

bloques para generar esta lista. Pero no sé cómo acceder al nombre de la especificación.

Respuesta

48

Eso realmente está integrado directamente en el comando rspec. Simplemente use el indicador -p o --profile mientras ejecuta todas las pruebas de rspec.

+7

Como nota, el perfil no se imprimirá si sus especificaciones están fallando. –

10

Como dice MrDan, el indicador --profile. También puede hacer un archivo .rspec en la raíz de su proyecto, de manera que se obtiene la información de tiempo todo el tiempo, así:

$ cat .rspec 
--colour 
--profile 
--format nested 
--backtrace 

También puede acelerar todas sus pruebas en general, apagando la recolección de basura , como este:

# turn off garbage collection when running tests, place this in spec_helper.rb 
RSpec.configure do |config| 
    config.before(:all) do 
    DeferredGarbageCollection.start 
    end 

    config.after(:all) do 
    DeferredGarbageCollection.reconsider 
    end 
end 
+0

Gracias, pero obtengo "constante no inicializada DeferredGarbageCollection" –

+0

https://makandracards.com/makandra/950-speed-up-rspec-by-deferring-garbage-collection – michelpm

+0

Deferring GC es una idea bastante interesante. @rob ¿ves algún inconveniente al hacer esto? – marcgg

Cuestiones relacionadas