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
Надеюсь это поможет!