RCov начал анализировать загруженные библиотеки (включая сам Rdoc) - при использовании rvm (Ruby Version Manager)

контекст

  • rcov 0.9.8 2010-02-28
  • ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.3.0]
  • rvm 0.1.38 Уэйна Э. Сегина (wayneeseguin@gmail.com) [ http://rvm.beginrescueend.com/]
  • Системный Ruby (система использования rvm): ruby ​​1.8.7 (уровень обновления 24-01 2010-10-10) [i686-darwin10]

файлы

Тестовая установка - это папка 'lib', содержащая один файл, который определяет класс, папки 'test' и 'test / sub_test', с 'sub_test', содержащим один 'test_example_lib.rb' и файл Rake, подобный этому:

 требует 'rcov / rcovtask'

task: default => [: rcov]

ОПК "РЦов"
Rcov::RcovTask.new do | т |
    t.test_files = FileList[ 'test/**/test_*.rb' ]
конец

Результат

 #грабли
(в /Users/stephan/tmp/rcov_example)
rm -r покрытие
Загруженный пакет /Users/stephan/.rvm/gems/ruby-1.8.7-p174/bin/rcov
Началось,
Закончено за 0, 000508 секунд.

1 тесты, 2 утверждения, 0 сбоев, 0 ошибок
+ ------------------------------------------------- --- + ------- + ------- + -------- +
| Файл | Линии |  LOC  |  COV   |
+----------------------------------------------------+-------+-------+--------+
|...ms/rcov-0.9.8/lib/rcov/code_coverage_analyzer.rb |   271 |   156 |   5,1% |
|...ems/rcov-0.9.8/lib/rcov/ absolute_analyzer.rb |   116 |    82 |   9,8% |
|lib/example_lib.rb                                  |    16 |    11 |  72,7% |
+----------------------------------------------------+-------+-------+--------+
Всего 403 |   249 |   9,6% |
+----------------------------------------------------+-------+-------+--------+
9,6%   3 файл (ов)   403 строк 249 LOC

Вопрос

Почему сам RCov анализируется здесь? Я ожидал бы этого (и это не происходит при использовании 'rvm use system'). На самом деле, похоже, это из-за того, что я использую Ruby, установленный через rvm.

1 ответ

Решение

Добавьте некоторые исключения в rcov:

--exclude / gems /, / Library /, / usr /, spec, lib / tasks

require 'rcov/rcovtask'

task :default => [:rcov]

desc "RCov"
Rcov::RcovTask.new do | t |
    t.test_files = FileList[ 'test/**/test_*.rb' ]
    t.rcov_opts << '--exclude /gems/,/Library/,/usr/,spec,lib/tasks'
end
Другие вопросы по тегам