2012-10-02 16 views
7

Estoy trabajando en un pequeño joya e incluyó simplecov a dos líneas: spec_helper.rbSimpleCov cobertura

require 'simplecov' 
SimpleCov.start 

Cuando ejecuto la prueba rspec, la simplecov parece salido correctamente pero el informe no es:

Finished in 0.00214 seconds 
8 examples, 0 failures 

Coverage report generated for /home/...... 
spec to /home/megas/Work/calc/coverage. 0/0 LOC (0.0%) covered. 

¿Qué problema podría tener y cómo solucionarlo? Gracias

Respuesta

19

También asegúrese de habilitar simplecov (a.k.a. SimpleCov.start) en el muy al comienzo de su archivo; especialmente antes de que requiera su código.

+2

Esta era mi problema; gracias. Alguien más señaló una forma útil de diagnosticar: agregue un mensaje de depuración 'puts' a la parte superior de una aplicación/archivo de modelo, y otro en' spec_helper.rb' junto a su 'SimpleCov.start' - si ve la salida de depuración del modelo antes de la salida de depuración SimpleCov, usted sabe que su modelo se está cargando antes de SimpleCov. – bjnord

+0

lo arregló para mí, gracias! – lfender6445

+0

¡Eso lo solucionó, muchas gracias! –

2

Tuve los mismos síntomas. Mi problema era que en mi archivo de prueba:

#spec/oneclass_spec.rb 
require 'oneclass' 
require 'spec_helper' 

...Rest of the test file 

y necesitaba cambiar el orden de los require s a:

#spec/oneclass_spec.rb 
require 'spec_helper' 
require 'oneclass' 

...Rest of the test file 

Espero que esto ayude a alguien, me estaba volviendo loco ...

0

En caso de que las dos respuestas anteriores no funcionen (como en mi caso), un usuario en la página de problemas de github de simplecov sugirió esto, lo que funcionó para mí.

Añadir esto después de que necesite simplecov-

module SimpleCov::Configuration 
    def clean_filters 
    @filters = [] 
    end 
end 

SimpleCov.configure do 
    clean_filters 
    load_adapter 'test_frameworks' 
end 
0

Si uno de los anteriores no funcionó.

verificar que en test.rb:

config.eager_load = false 
0

En mi caso el problema era la primavera - que tenía que crear un config/spring.rb con lo siguiente:

if ENV['RAILS_ENV'] == 'test' 
    require 'simplecov' 
    SimpleCov.start 
end 

como se documenta here.

0

Estoy ejecutando scripts desde la línea de comandos y encontré que la solución era simplemente poner una salida al final de mi script. Doh!

Alternativamente, el siguiente también funciona

SimpleCov.at_exit do 
    SimpleCov.result.format! 
end