Simples cov gem faltando arquivos não testados em Trilhos
-
23-12-2019 - |
Pergunta
Usando simple_cov
jóia em uma app Rails, podemos ter os arquivos que não somos os testes incluídos no relatório?
Se sim, como?
Se não, que os arquivos devem contar para o percentual de cobertura, certo ?
Solução
Tente editar o seu config/environments/test.rb
e definir esta linha:
config.eager_load = false
para true
desta forma, todo o aplicativo é carregado e simplecov lê-lo.
Outras dicas
Carrega todo o Rails aplicativo ao executar testes suite com cobertura de código.Adicionar Rails.application.eager_load!
para spec_helper.rb
.
Simplecov atrasa testes é por isso que eu usar o shell variável de ambiente para transformá-lo.Geralmente meu spec_helper.rb
/rails_helper.rb
é algo como isto:
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']
Desde a versão 0.11.0 os arquivos que devem ser controladas pode ser explícito (conjunto deSolicitação).
Para uma app Rails que seria:
require 'simplecov'
SimpleCov.start do
track_files '{app,lib}/**/*.rb'
end
Ou simples de usar:
require 'simplecov'
SimpleCov.start 'rails'
E os arquivos a serem rastreados será definido por padrão (atual código relacionado).