如何:获取代码覆盖率数据

可以按逐行代码甚或逐个代码块的形式衡量测试的有效性。 可以通过配置测试运行以产生代码覆盖率数据来做到这一点。 得到的数据显示在“代码覆盖率结果”窗口和源代码文件中。

当对项目(通常为二进制文件)进行了检测,并在测试运行期间将其加载到了内存中时,就会收集代码覆盖率数据。 获取代码覆盖率数据过程说明如何选择要进行检测的文件。

完成测试运行之后,即可查看代码覆盖率数据;有关更多信息,请参见查看代码覆盖率数据。

还可以合并多组代码覆盖率数据,如如何:合并代码覆盖率数据中所述。 有关与合并代码覆盖率数据有关的各种情况的信息,请参见使用合并的代码覆盖率数据

对程序集进行检测和重新签名中所述,必须对经过检测的具有强名称的程序集进行重新签名。 指定密钥文件即可启用重新签名。

获取代码覆盖率数据

获取代码覆盖率数据

  1. 创建代码测试。 这些测试既可以是单元测试,也可以是其他测试类型(它们执行您已为其设置了符号并且已为其选择了要检测的适当二进制文件的代码)。

    有关如何创建单元测试的信息,请参见针对现有代码创建并运行单元测试

  2. 打开将用于单元测试的测试设置。

    有关更多信息,请参见创建测试设置以从 Visual Studio 中运行自动测试

  3. 请按照本主题中的步骤配置要收集的代码覆盖率数据:如何:使用自动测试的测试设置配置代码覆盖率

  4. 运行一个或多个测试。

    有关更多信息,请参见如何:从 Microsoft Visual Studio 运行自动测试

    在运行测试时,会收集代码覆盖率数据。 有关查看代码覆盖率数据的信息,请参见查看代码覆盖率数据。

    提示

    运行 VSPerfMon.exe 可以与代码覆盖率数据的集合进行交互。 有关更多信息,请参见 有关 Visual Studio ALM 测试工具的疑难解答中的“代码覆盖率数据和 VSPerfMon.exe”部分。

    无法为运行在 64 位进程中的应用程序收集代码覆盖率数据。 因此,如果您在测试此类应用程序时请求了代码覆盖率数据,则测试引擎会在要检测的程序集的可移植可执行 (PE) 标头中设置“32BIT”标志。 测试运行完成后,程序集会恢复到其原始状态。

查看代码覆盖率数据

先决条件:已经运行测试并且已生成代码覆盖率数据,如获取代码覆盖率数据中所述。

查看代码覆盖率数据

  1. 在**“测试结果”工具栏上单击“代码覆盖率结果”。 或者,也可以单击“测试”菜单上的“窗口”,然后单击“代码覆盖率结果”**。

    随即打开**“代码覆盖率结果”**窗口。

  2. 在**“代码覆盖率结果”窗口中,“层次结构”**列显示一个节点,其中包含有在上一次测试运行中获取的所有代码覆盖率数据。 如果发生了错误,则在此位置(而非根节点中)显示错误消息。 如果显示有节点,请将其展开。

    提示

    默认情况下,该测试运行节点采用 <用户名>@<计算机名> <日期> <时间> 的格式命名。可以在“选项”对话框的“常规”页上更改默认命名方案。

  3. 依次展开程序集、命名空间和成品代码中某个类的节点。

    类中的各行表示类的方法。 此表中的列显示了各个方法、类和整个命名空间的覆盖率统计数据。

  4. 双击类中的一个方法所对应的行。

    将打开源代码文件并转到您选择的方法。 在此文件中,可以看到代码突出显示效果。 通过滚动,可以看到此文件中其他方法的覆盖率。 若要更改突出显示代码行的颜色,请参见更改代码覆盖率突出显示内容的显示。

    提示

    可以单击“测试工具”工具栏上的按钮以切换文件中代码覆盖率的显示,以及导航到文件中前面的或后面的代码行。

  5. (可选)如果选中了测试项目的 DLL 所对应的复选框,则可以打开包含单元测试的源代码文件,以查看执行了哪些测试方法。

显示不同的代码覆盖率计算

代码覆盖率计算将代码覆盖率总计显示为“代码覆盖率结果”窗口中的列。 最多可以启用八列来显示测试运行覆盖的代码以及没有覆盖的代码的计算。 可以启用将计算显示为百分比或数值总计的列。 也可以启用显示代码行和代码块计算的列。

显示或隐藏代码覆盖率数据列

  1. 右击**“代码覆盖率结果”**窗口中的任何数据。

  2. 单击**“添加/移除列”**。

  3. 选中要显示的项旁边的复选框,并清除要移除的项旁边的复选框。

  4. 单击**“确定”**。

更改代码覆盖率突出显示内容的显示

默认情况下,将使用特定的颜色来指示代码是否被已运行的测试覆盖了。 用浅蓝色突出显示的代码行已在测试运行中执行过,而用红褐色突出显示的代码行则还没有执行过。 在用米色突出显示的代码行内,有些代码已执行过,有些代码则还没有。

更改代码覆盖率数据的显示

  1. 单击**“工具”,然后单击“选项”**。

    随即出现**“选项”**对话框。

  2. 展开**“环境”**。

  3. 单击**“字体和颜色”**。

  4. 在**“显示其设置”下,选择“文本编辑器”**。

  5. 在**“显示项”下,选择要更改其显示颜色的代码覆盖率区域。 可用的选项有“覆盖率未涉及的区域”“覆盖率部分涉及的区域”“覆盖率涉及的区域”**。

  6. 更改此代码覆盖率区域的设置。 可以更改前景色和背景色、字体、字号和文本的粗体设置。

  7. (可选)更改其他代码覆盖率区域的设置。

  8. 完成上述操作后,单击**“确定”**。

请参见

任务

如何:从 Microsoft Visual Studio 运行自动测试

创建测试设置以从 Visual Studio 中运行自动测试

有关 Visual Studio ALM 测试工具的疑难解答

概念

针对现有代码创建并运行单元测试

对程序集进行检测和重新签名

使用合并的代码覆盖率数据