Простой драгоценный камень cov, в котором отсутствуют непроверенные файлы в Rails

StackOverflow https://stackoverflow.com//questions/22075516

  •  23-12-2019
  •  | 
  •  

Вопрос

С помощью simple_cov gem в приложении Rails, можем ли мы включить в отчет файлы, которые мы не тестируем?

  • Если да, то как?

  • Если нет, то эти файлы должны учитываться в процентах покрытия, верно?

Это было полезно?

Решение

Попробуйте отредактировать свой config/environments/test.rb и установите эту строку:

config.eager_load = false

к true таким образом, загружается все приложение целиком, и simplecov считывает его.

Другие советы

Я загружаю все приложение Rails целиком при запуске набора тестов с покрытием кода.Добавь Rails.application.eager_load! к spec_helper.rb.

Simplecov замедляет тесты, поэтому я использую переменную окружения оболочки, чтобы включить ее.Обычно мой spec_helper.rb/rails_helper.rb выглядит примерно так:

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']

Начиная с версии 0.11.0 файлы, которые следует отслеживать, могут быть явно заданы (Запрос на извлечение).

Для приложения Rails это было бы:

require 'simplecov'
SimpleCov.start do
  track_files '{app,lib}/**/*.rb'
end

Или простое использование:

require 'simplecov'
SimpleCov.start 'rails'

И файлы, которые будут отслеживаться, будут установлены по умолчанию (текущий связанный код).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top