基本术语
代码覆盖率
代码覆盖率 (或测试覆盖率)是反映应用程序源代码被测试覆盖程度的一个指标。 了解此信息有助于确定应用程序功能的哪些子集未被正确测试,从而需要优先进行测试覆盖。 代码覆盖率并不表示测试或应用程序逻辑的质量,而是作为一种指导,用于优先安排应用程序开发和测试活动。
代码覆盖率分析
代码覆盖率分析因此是执行应用程序源代码的过程,目的是了解在特定场景下哪些代码部分实际被执行,哪些未被执行。
语句覆盖率
在现有的多种覆盖率指标中,dotCover 使用语句覆盖率。 语句覆盖率报告应用程序测试是否执行了应用程序代码中的每个语句。 此指标在大多数情况下可确保合理的覆盖率分析结果,但也存在局限性:例如,即使仅有效执行了一个分支,三元运算符也被认为是完全覆盖的。
覆盖快照
覆盖快照是一个数据单元,包含特定覆盖运行(单元测试会话或应用程序覆盖运行)的原始覆盖率分析结果。 dotCover 在 覆盖结果浏览器窗口或 单元测试覆盖率窗口中提供覆盖快照的图形表示,并提供专有存储格式,用于在 dotCover 中 保存和重新打开覆盖快照。 有关更多信息,请参阅 什么是 Coverage Snapshot?。
单元测试会话
单元测试会话是可以同时运行的一组单元测试。 您可以在 单元测试会话窗口 中查看当前打开的单元测试会话。 每个单元测试会话都可以在覆盖模式下执行,因此在执行期间会记录代码覆盖率。 有关更多信息,请参阅 单元测试会话。
单元测试运行器
单元测试运行器是运行目标程序集并在其上执行单元测试的组件。 它支持多个 单元测试框架。 每次运行或调试单元测试以及使用 dotCover 命令行工具时,都会启动单元测试运行器。 有关更多信息,请参阅 单元测试的覆盖率分析。
应用程序覆盖运行
应用程序覆盖运行是执行特定场景的一段时间,在此期间会记录代码覆盖率。 覆盖运行结束后,您可以回顾性地发现应用程序源代码的哪些部分参与了该场景,哪些部分未被覆盖。 有关更多信息,请参阅 应用程序的覆盖率分析。
覆盖过滤器
覆盖过滤器是一组规则,用于指示应用程序代码的哪些部分应包含或排除在覆盖率分析之外。 有关更多信息,请参阅 设置覆盖率过滤器。
符号文件 (PDB)
定位目标二进制文件的符号文件(PDB)对于计算覆盖率至关重要。 如果您 覆盖单元测试 或 覆盖启动项目 ,dotCover 可以轻松利用当前解决方案的结构定位符号文件。 但是,如果您 覆盖外部应用程序 ,或者使用 命令行工具运行单元测试,则可能会出现 dotCover 无法通过默认设置定位符号文件的情况。 在这些情况下,您可以为 外部应用程序和 命令行工具配置其他搜索符号文件的方法。