Rails 4 & SimpleCov: lib/tasks/cucumber.rake включены в отчет о покрытии для SimpleCov?

У меня есть следующий код в верхней части spec/spec_helper.rb а также features/support/env.rb (SimpleCov объединяет результаты покрытия RSpec & Cucumber):

require 'simplecov'

У меня также есть следующий код в .simplecov файл в корне проекта:

SimpleCov.start 'rails'

Однако по какой-то причине lib/tasks/cucumber.rake входит в покрытие...

Есть идеи?

2 ответа

В папке spec есть файл rcov.opts, в этом файле есть опция –exclude.

Мы можем добавить наш путь к файлам к этому. например, я хочу исключить помощники, папки уборщиков, так что просто добавьте / измените

–exclude “helpers/*,app/sweepers/*”. 

В RSpec-1 задача rake считывает параметры rcov из файла rcov.opts.

Это игнорируется RSpec-2. Параметры RCov теперь устанавливаются непосредственно в задаче Rake:

RSpec::Core::RakeTask.new(:rcov) do |t| 
    t.rcov_opts = %q[--exclude "spec/,gems/,features/*"] 
end

Я не использовал SimpleCov с RSpec раньше, но обычно я справлялся с этим типом сценария, добавляя фильтр в SimpleCov после вызова start. В вашем случае это может означать изменение начального вызова в .simplecov от

SimpleCov.start "rails"

в

SimpleCov.start("rails") do
  add_filter "lib/tasks/cucumber.rake"
end

Надеюсь это поможет!

Другие вопросы по тегам