首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么时候在覆盖范围中包含测试代码才有意义?

什么时候在覆盖范围中包含测试代码才有意义?
EN

Software Engineering用户
提问于 2016-02-02 08:13:35
回答 1查看 1.4K关注 0票数 11

许多覆盖工具评估整个项目,包括单元测试代码本身。在VS 2013中,分析代码覆盖率/所有测试选项在其报告中包括测试代码。我相信OpenCover也这么做了。在具有典型src/ main /java和src/ test /java设置的Maven项目中,EclEmma将报告主要代码和测试代码的覆盖率。

这对我来说似乎价值微乎其微,除了有可能确保所有的测试都被实际执行。在包含测试代码的情况下,覆盖率%通常是人为的高,因为工具通常会报告接近100%的测试代码覆盖率,这可能会使整个项目高于基准级别(例如80%),而这个基准级别本来可能没有达到。

是否有正当理由将测试代码包括在覆盖率中?或者,当我们的覆盖率报告自动化时,我应该继续过滤它吗?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2016-02-02 11:02:08

我不愿说出确切的理由,但它们确实提供了一个很好的理性检验。所有的测试都是相同的(不是属性化的),您会期望这是100%的完整运行。如果不是这样的话,就意味着您有可能被删除的死代码。

对于CI构建,忽略集成测试是很常见的,因此(作为构建管理器)看到这一点是很有用的,因为我知道测试中的解决方案有一个集成元素或类似的元素。

对于那些试图用Ignore属性隐藏自己坏掉的测试的开发人员来说,这也可能是一把冒烟的枪。我们有一个牛仔,他打破了测试,然后简单地加上其他人来掩盖它。测试数量保持不变,但覆盖范围随着时间的推移而下降。不用说,他很快就被领到了门!

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

https://softwareengineering.stackexchange.com/questions/309015

复制
相关文章

相似问题

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