unit-testing - 您是否在代码覆盖率中包含测试文件?

标签 unit-testing testing code-coverage

似乎在代码覆盖率中包含测试文件会高估值(value)。

但我可以看到,如果您有未在测试中使用的代码,则应将其删除。

那么,测试文件通常包含在代码覆盖率指标中吗?

最佳答案

人们使用代码覆盖率分析有许多可能的目标。而且,有许多不同的方法可以执行代码覆盖率分析。对于特定目标,使用代码覆盖率分析的某些方法比其他方法更有意义。

您提到了一个目标:识别未使用的测试代码。对于这个目标,如果分析详细显示哪些测试代码被执行,哪些没有执行,那么测试代码的覆盖率分析是有意义的。另一方面,像“执行了 87% 的测试代码”这样的单纯百分比对您没有帮助。

另一个可能更典型的目标是使用代码覆盖率百分比来判断单元测试达到特定覆盖率所需的剩余工作量 - 或者判断由于未达到特定覆盖率目标而导致的风险。我不太赞成这种覆盖范围的使用,但它的使用很广泛。不管有用与否,对于这个目标至少将测试代码包含在覆盖率指标中是没有意义的:测试代码的覆盖率与剩余的单元测试工作或风险无关。

总结:没有简单的是或否,因为这取决于目标。但是,当然可以执行不同类型的覆盖率分析,或者以不同的方式将结果用于不同的目的。

关于unit-testing - 您是否在代码覆盖率中包含测试文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58527669/

相关文章:

javascript - Angular 6 - 单元测试构造函数中的订阅函数

c++ - 在cpp主体中声明方法时 undefined symbol

java - 类问题的驱动测试器

visual-studio-2010 - 找不到任何覆盖率数据(.coverage 或 .coveragexml)文件。检查测试运行详细信息以查找可能的错误

unit-testing - C# - 单元测试 - 如何计算代码覆盖率

java - 在 SonarQube 中使用枚举错误计算开关条件

maven - 在多模块 Maven 项目中使用相同的 log4j.properties 进行测试

c# - 为什么 Assert.IsInstanceOfType(0.GetType(), typeof(int)) 会失败?

silverlight - 在 TFS 2010 版本中运行 Silverlight 单元测试

android - 无法使用 appium 服务器找到 aapt