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