3

语境

  • rcov 0.9.8 2010-02-28
  • ruby 1.8.7 (2009-06-12 补丁级别 174) [i686-darwin10.3.0]
  • rvm 0.1.38 by Wayne E. Seguin (wayneeseguin@gmail.com) [ http://rvm.beginrescueend.com/]
  • 系统 Ruby(rvm 使用系统):ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin10]

文件

测试设置是一个“lib”文件夹,其中包含一个定义类的文件,文件夹“test”和“test/sub_test”,“sub_test”包含单个“test_example_lib.rb”和一个像这样的 Rakefile:

需要'rcov/rcovtask'

任务:默认 => [:rcov]

描述“RCov”
Rcov::RcovTask.new 做 | 吨 |
    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 次错误
+-------------------------------------------------- ---+-------+-------+--------+
| 文件 | 线条 | 地点 | 冠状病毒 |
+-------------------------------------------------- ---+-------+-------+--------+
|...ms/rcov-0.9.8/lib/rcov/code_coverage_analyzer.rb | 271 | 156 | 5.1% |
|...ems/rcov-0.9.8/lib/rcov/differential_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'时不会发生)。事实上,这似乎是由于我使用了通过 rvm 安装的 Ruby。

4

1 回答 1

3

在 rcov 中添加一些排除项:

--排除/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
于 2010-06-11T09:28:01.113 回答