Tor*_*örn 8 ruby rake rspec rcov
前言
我刚刚开始深入研究Ruby,并尝试不仅学习语言,还尝试一些开发策略.作为初学者,我专注于测试和行为驱动开发.(是的,我这两个都是为了比较目的)
我正在使用我的小软件项目
在各个地方,我遇到RCov作为一个工具,告诉我我真正测试了多少我的实际代码.
我在我的设置中设置了以下RakeTask Rakefile用于UnitTests的covarage分析:
desc "Run RCov to get coverage of UnitTests"
Rcov::RcovTask.new(:rcov_units) do |t|
t.pattern = 'tests/**/tc_*.rb'
t.verbose = true
t.rcov_opts << "--html"
t.rcov_opts << "--text-summary"
t.output_dir = "coverage/tests"
end
Run Code Online (Sandbox Code Playgroud)
这工作正常,我得到了一个很好的彩色HTML报告coverage/tests.
问题简介
类似我为RCov编写了以下RakeTasks,用于我的规范的覆盖率分析:
desc "Run RCov to get coverage of Specs"
Rcov::RcovTask.new(:rcov_spec) do |t|
t.pattern = 'spec/**/*_spec.rb'
t.verbose = true
t.rcov_opts << "--html"
t.rcov_opts << "--text-summary"
t.output_dir = "coverage/spec"
end
Run Code Online (Sandbox Code Playgroud)
问题定义
但是,生成的HTML报告coverage/spec看起来有点不完整,几乎失败了.
所测试的方法体都没有标记为覆盖,因此是红色.但是,我100%确定它们是在规格范围内执行的.只有线条def method_name(args)和class ClassName标记为"绿色".(以及与之相符attr_reader :instance_variable)
我错过了什么吗?
$: ruby --version
ruby 1.8.7 (2011-02-18 patchlevel 334) [x86_64-linux]
$: rspec --version
2.8.0
$: rcov --version
rcov 0.9.11 2010-02-28
$: rake --version
rake, version 0.9.2
Run Code Online (Sandbox Code Playgroud)
确保您足够早地需要 rcov。
来自http://rubydoc.info/github/relevance/rcov/master/Rcov/CodeCoverageAnalyzer:
请注意,在解析要分析的代码之前(即在加载或需要它之前),您必须要求“rcov”。您可以通过使用 -rrcov 命令行选项调用 ruby 来做到这一点,或者只是:
| 归档时间: |
|
| 查看次数: |
1141 次 |
| 最近记录: |