1

我对各种类型的代码覆盖率有点困惑:语句覆盖率、分支覆盖率、p-uses 覆盖率、c-uses 覆盖率、语句覆盖率、行覆盖率......我对完成的基本单元测试覆盖率感兴趣在 TDD 级别。这属于上述哪种类型的代码覆盖?谢谢

4

1 回答 1

1

实际的答案是 TDD 的目标是语句覆盖。如果严格遵循 TDD,则语句、分支、行和异常覆盖都应该得到解决。

实际上,并不是每个人都在如此高的水平上实践 TDD。许多团队选择排除简单 getter 和 setter 的测试覆盖率,例如,认为它们浪费时间和额外的技术负担。

TDD 使用重构和测试复杂性作为诱使开发人员保持较小方法大小的因素。遵循涉及变量范围和所有权的良好实践,例如 RAII 将 new 和 delete 配对在同一范围内,应该将 c-uses 的所有范围保持在同一测试中(尽管该规则在引用计数内存分配系统中可能会失效。)为了真正涵盖这些场景,您的团队应该设计行为或功能测试以正确执行逻辑。

于 2013-04-22T20:10:51.843 回答