单元测试的合理代码覆盖率是多少(以及为什么)?如果你要求单元测试的最小代码覆盖率,甚至可能作为提交到存储库的要求,它会是什么?请解释你是如何得出答案的(因为如果你所做的只是选择一个号码,那么我本可以自己完成这一切;)
3 回答
Qyouu
TA贡献1786条经验 获得超11个赞
如果100%覆盖率是您的目标(而不是对所有功能进行100%测试),则代码覆盖率是一种误导性指标。
你可以通过一次击中所有线来得到100%。但是,您仍然可能错过测试命中这些行的特定序列(逻辑路径)。
您无法获得100%但仍测试了所有80%/ freq使用的代码路径。测试每个'抛出ExceptionTypeX'或类似的防御性编程守卫你测试的是'很高兴'而不是'必须拥有'
因此,请相信自己或您的开发人员要彻底,并通过他们的代码覆盖每条路径。务实,不要追逐神奇的100%报道。如果您使用TDD代码,则应获得90%以上的奖金。使用代码覆盖来突出显示您错过的代码块(如果您使用TDD,则不应该发生..因为您只编写代码以进行测试通过。没有合作伙伴测试,代码就不会存在。)
动漫人物
TA贡献1815条经验 获得超10个赞
代码覆盖率很高,但功能覆盖率更高。我不相信我写的每一行。但我确实相信我想要提供的所有功能的100%测试覆盖率(即使是我自己带来的超酷功能,也没有在会议期间讨论过)。
我不在乎我是否会有测试中没有涉及的代码,但我会关心我是否会重构我的代码并最终有不同的行为。因此,100%的功能覆盖是我唯一的目标。
- 3 回答
- 0 关注
- 4698 浏览
添加回答
举报
0/150
提交
取消