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 ?

Foi útil?

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).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top