Пропуск файлов в spec / при запуске rcov с RSpec 2.5 - PullRequest
4 голосов
/ 17 марта 2011

При запуске rake spec:rcov для приложения Rails 3 файлы в каталоге spec/ включаются в статистику покрытия, но я не хочу, чтобы они были. Я хочу получить статистику покрытия только для моего фактического заявления.

В более старых версиях RSpec это можно было настроить с помощью файла spec/rcov.opts со строкой --exclude "spec/*", но кажется, что файл больше не читается Rspec 2. Я пытался создать файл .rcov, поскольку 1008 * изменено на .rspec, но это тоже не читалось.

Я нашел документацию о том, как это сделать при определении задачи rake, но я бы не стал перезаписывать предоставленную задачу rake & mdash; Похоже, что это должно быть то, что другие люди тоже пытались сделать.

Как настроить файлы, которые исключены из статистики покрытия?

Для справки, я использую следующие версии всех соответствующих драгоценных камней:

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 Ответ

6 голосов
/ 17 марта 2011

Из файла обновления RSpec :

В RSpec-1 задача rake будет выглядеть так: в опциях rcov от rcov.opts файл. Это игнорируется RSpec-2. Параметры RCov теперь устанавливаются непосредственно на грабли Задача:

    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

Возможно, вы захотите удалить задачу и воссоздать ее с собственными настройками или определить новую задачу.

...