Пропуск файлов в spec/ при запуске rcov с RSpec 2.5
При беге rake spec:rcov
для приложения Rails 3 файлы в spec/
каталог включается в статистику покрытия, но я не хочу, чтобы они были. Я хочу статистику покрытия только для моего реального заявления.
В старых версиях RSpec это можно было настроить с помощью spec/rcov.opts
файл со строкой --exclude "spec/*"
но кажется, что файл больше не читается Rspec 2. Я попытался создать .rcov
файл с spec/spec.opts
изменился на .rspec
, но это тоже не читалось.
Я нашел некоторую документацию о том, как это сделать при определении задачи rake, но я бы предпочел не перезаписывать предоставленную задачу rake - похоже, это должно быть то, что другие люди тоже пытались сделать.
Как я могу настроить файлы, которые исключены из статистики покрытия?
Для справки, версии всех соответствующих драгоценных камней, которые я использую:
rails (3.0.5)
rake (0.8.7)
rcov (0.9.9)
rspec (2.5.0,)
rspec-core (2.5.1)
rspec-expectations (2.5.0,)
rspec-mocks (2.5.0)
rspec-rails (2.5.0)
1 ответ
В RSpec-1 задача rake будет читать параметры rcov из
rcov.opts
файл. Это игнорируется RSpec-2. Параметры RCov теперь устанавливаются непосредственно в задаче Rake:RSpec::Core::RakeTask.new(:rcov) do |t| t.rcov_opts = %q[--exclude "spec"] end
Осматривая rspec-rails
Исходный код, который я нашел, библиотека определяет :rcov
задача, и это, кажется, не исключает папку rspec.
desc "Run all specs with rcov"
RSpec::Core::RakeTask.new(:rcov => spec_prereq) do |t|
t.rcov = true
t.pattern = "./spec/**/*_spec.rb"
t.rcov_opts = '--exclude /gems/,/Library/,/usr/,lib/tasks,.bundle,config,/lib/rspec/,/lib/rspec-'
end
Возможно, вы захотите удалить задачу и воссоздать ее с собственными настройками или определить новую задачу.