Простой cov gem не хватает непроверенных файлов в Rails
Используя simple_cov gem в приложении Rails, можем ли мы иметь файлы, которые мы не тестируем, включены в отчет?
Если да, то как?
Если нет, то эти файлы должны рассчитывать на процент покрытия, верно?
Ответ 1
Попробуйте отредактировать config/environments/test.rb и установите эту строку:
config.eager_load = false
до true таким образом загружается все приложение, а simplecov читает его.
Ответ 2
Ожидающая загрузка всего приложения 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']
Ответ 3
Начиная с версии 0.11.0, файлы, которые должны отслеживаться, могут быть явно заданы (Запрос на извлечение).
Для приложения Rails это будет:
require 'simplecov'
SimpleCov.start do
track_files '{app,lib}/**/*.rb'
end