A la gema cov simple le faltan archivos no probados en Rails
-
23-12-2019 - |
Pregunta
Usando simple_cov
gema en una aplicación Rails, ¿podemos incluir los archivos que no estamos probando en el informe?
Si es así, ¿cómo?
Si no, esos archivos deberían contar para el porcentaje de cobertura, ¿verdad?
Solución
Intenta editar su config/environments/test.rb
y configurar esta línea:
config.eager_load = false
a true
de esta manera se carga toda la aplicación y SimpleCov lo lee.
Otros consejos
Cargue con impaciencia toda la aplicación Rails cuando ejecute el conjunto de pruebas con cobertura de código.Agregar Rails.application.eager_load!
a spec_helper.rb
.
Simplecov ralentiza las pruebas, por eso uso la variable de entorno del shell para activarlo.Normalmente mi spec_helper.rb
/rails_helper.rb
se parece a esto:
if ENV['COVERAGE']
require 'simplecov'
# some SimpleCov setup, e.g. formatters
SimpleCov.start 'rails'
end
ENV['RAILS_ENV'] ||= 'test'
require 'spec_helper'
require File.expand_path('../../config/environment', __FILE__)
require 'rspec/rails'
Rails.application.eager_load! if ENV['COVERAGE']
Dado que la versión 0.11.0 Los archivos que deben ser rastreados pueden ser establecidos explícitos ( Solicitud de extracción ).
para una aplicación de rieles que sería:
require 'simplecov'
SimpleCov.start do
track_files '{app,lib}/**/*.rb'
end
require 'simplecov'
SimpleCov.start 'rails'
y los archivos a rastrear se establecerán de forma predeterminada ( código relacionado actual ).