首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用-xrefs,Rcov覆盖范围发生了巨大的变化

使用-xrefs,Rcov覆盖范围发生了巨大的变化
EN

Stack Overflow用户
提问于 2010-08-10 11:10:33
回答 1查看 567关注 0票数 11

我目前的Ruby on Rails项目通过rcov (具体地说,是relevance rcov )进行测试,而且我们有一个相当高的标准(如果代码覆盖率小于95%,我们就无法通过构建)。

我们使用以下命令对此进行测试:

代码语言:javascript
复制
rcov_cmd = "rcov --rails --text-summary \
            --include #{included_dirs} \
            --exclude #{excluded_dirs} \
            --aggregate #{coverage_dir}/coverage.data \
            --output #{coverage_dir} \

今天,我发现一些代码在rcov报告中注册为绿色(已运行)。无论如何,我可以证明这段代码没有运行(我在函数的开头引发了一个异常,并且我的单元测试通过了)

我做了一些研究,找到了rcov的--xrefs标志,我认为它可以为rcov报告中的每一行添加所有调用者。

我将rcov命令更改为:

代码语言:javascript
复制
rcov_cmd = "rcov --rails --text-summary --xrefs \
        --include #{included_dirs} \
        --exclude #{excluded_dirs} \
        --aggregate #{coverage_dir}/coverage.data \
        --output #{coverage_dir} \

(注意添加了--xrefs标志)。

我将测试覆盖率从96%提高到48%,而不是额外的调用点信息。

--xrefs是否改变了rcov的分析方式?(我以为它只会收集调用站点信息)。这与第一个命令有什么不同/更好的地方?(我已经看到如果有失败的单元测试,单元测试覆盖率就会下降,我知道如果运行中有错误,覆盖率可能会下降,但我觉得这很好)

EN

回答 1

Stack Overflow用户

发布于 2010-11-16 17:36:47

来自rcov manual

代码语言:javascript
复制
--[no-]callsites
    Show callsites in generated XHTML report. (somewhat slower; disabled by default)
--[no-]xrefs
    Generate fully cross-referenced report. (includes --callsites)

来自Rcov CallSiteAnalyzer Class

代码语言:javascript
复制
A CallSiteAnalyzer can be used to obtain information about:

    * where a method is defined ("defsite")
    * where a method was called from ("callsite")

让这个分析rcov可以提供更准确的覆盖范围信息,从而降低执行时间的成本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3445767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档