2011-10-04 11 views
9

estoy empezando a ver el siguiente resultado cuando se ejecuta especificaciones solicitud rspec:Cómo suprimir desactivar los mensajes de fallos de cache/"" cuando se ejecuta pruebas rspec en los carriles 3.1

cache: [GET /login] miss 
cache: [GET /javascripts/jquery.min.js?1317513028] miss 

Normaly me gustaría conseguir puntos verdes para pasar pruebas y F rojo con algo de información para mensajes de error.

¿Hay alguna forma de desactivar los mensajes de falta de caché desde la salida?

Respuesta

4

Creo que esto no tiene nada que ver con rspec y que rspec solo está imprimiendo lo que está en el registro de rieles. Creo que este post by Brian Weaver en el grupo de discusión de Phusion Passenger podría responder a su pregunta:

¿Tiene instalado el bastidor de caché? Pasé un buen día + rastreando Passenger/Rails/Rack y muchas otras gemas para descubrir por qué aparecían líneas similares a esa. Agregue lo siguiente a su archivo production.rb o development.rb para deshacerse de la línea 'cache: ....'

config.action_dispatch.rack_cache = {: metastore => "rails: /",: entitystore => "rails: /",: verbose => false}

Saqué esa línea de la configuración de "middleware" de Rails y acabo de cambiar el término 'verbose' de verdadero a falso.

En su caso, supongo que desea agregarlo a su archivo de entorno de prueba.

+0

alguna manera este didn' t trabajo para mí: -/ – Papipo

+0

Desafortunadamente, esto tampoco funcionó para mí :(Me pregunto si hay otras formas? –

+0

¿Usas la gema Dragonfly? –

3

Además de @RyanTM, también debe activar el almacenamiento en caché para el entorno de prueba para que DragonFly no configure su propio Rack :: Cache (con: verbose => true) sino que utilice la configuración de Rails.

# set Rack::Cache verbose to false to prevent logging to rspec output   
config.action_controller.perform_caching = true        
config.action_dispatch.rack_cache = {:metastore => "rails:/", :entitystore => "rails:/", :verbose => false} 
1

no pude conseguir ninguna de las soluciones anteriores a trabajar para mí, pero añadiendo esto a mi 'config/inicializadores/dragonfly.rb' trabajaron:

if Rails.env.test? 
    Rails.application.middleware.delete Rack::Cache 
    Rails.application.middleware.insert 0, Rack::Cache, { 
    :verbose  => false, 
    :metastore => URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/meta"), # URI encoded in case of spaces 
    :entitystore => URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/body") 
    } 
end 
Cuestiones relacionadas