演练:运行测试并查看代码覆盖率

更新:2011 年 4 月

若要查看实际正接受测试的项目代码的比例,请使用 Microsoft Visual Studio 2010 的代码覆盖率功能。 为此,首先编辑运行配置,以指示要测量其覆盖率的代码所在的程序集。 接下来,对该代码运行测试。 在窗口中将出现详细的代码覆盖率统计信息, 并且您还可以逐行查看已测试的代码。

系统必备

  • Visual Studio 高级专业版 2010 或 Visual Studio 旗舰版 2010

  • 演练:创建并运行单元测试中“运行单元测试并修复代码”过程包含的步骤执行操作。 这将创建要在以下过程中运行的两个测试。

运行测试并查看代码覆盖率

运行测试并查看代码覆盖率

  1. 请注意“解决方案资源管理器”中的解决方案的名称。 如果使用演练:创建并运行单元测试中的项目,则解决方案的名称为 Bank。 此解决方案包含测试代码。

  2. 在“解决方案资源管理器”的“解决方案项”下,双击测试设置文件 Local.testsettings。

    此时将显示**“测试设置”**对话框。

  3. 选择**“<仅本地计算机>”**作为用于收集代码覆盖率数据的角色。

    警告

    对于代码覆盖率数据,这必须是将运行测试的角色。

  4. 若要修改默认代码覆盖率设置,则选中**“代码覆盖率”复选框,然后单击位于诊断数据适配器列表正上方的“配置”**。

    此时将显示用于配置代码覆盖率收集的**“代码覆盖率详细信息”**对话框。

    警告

    如果还将测试设置配置为收集 IntelliTrace 信息,则收集代码覆盖率数据不起作用。

  5. 从列表中选择要检测的项目。

  6. (可选)若要添加不显示的其他程序集,请单击**“添加程序集”**。

    此时将显示**“选择要检测的程序集”**对话框。

    1. 找到要在代码覆盖率中包括的程序集文件(.exe、.dll 或 .ocx),然后单击**“打开”**。 该文件添加到列表中。
  7. (可选)选择**“就地检测程序集”**以在生成文件的位置检测文件,或者在将文件复制到部署目录后检测文件。 有关在何处检测程序集的更多信息,请参见选择检测文件夹

  8. (可选)如果添加的任何一个程序集具有强名称,您必须对这些程序集进行重新签名。 单击(“...”)可找到当重新对程序集签名时必须使用的密钥文件。 有关如何对程序集进行重新签名的更多信息,请参见对程序集进行检测和重新签名

  9. 单击**“确定”**。 现在已为测试设置配置并保存了代码覆盖率设置。

    提示

    若要重置此诊断数据适配器的配置,请单击“重置为默认配置”

  10. 在对话框中单击**“另存为”,再单击“保存”。 将出现一个消息框,提示您是否保存现有文件。 在消息框中单击“是”**替换现有文件。

  11. 在**“测试”菜单上,指向“选择当前测试设置”**。 子菜单将显示解决方案中的所有测试设置。 在刚刚编辑的测试设置 (Local.testsettings) 旁边放一个选中标记, 使其成为当前测试设置。

  12. 在**“测试列表编辑器”中,选中“CreditTest”“DebitTest”旁边的复选框并右击,然后单击“运行选中的测试”**。

    运行这两个测试。

  13. 在**“测试工具”工具栏上单击“代码覆盖率结果”**。

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

  14. **“代码覆盖率结果”窗口中的“层次结构”**列将显示一个节点,该节点包含最新测试运行中得到的所有代码覆盖率数据。 测试运行节点的命名格式为 <user name>@<computer name> <date> <time>。 展开此节点。

  15. 展开程序集 Bank.dll 节点、命名空间 BankAccountNS 节点和 BankAccount 类节点。

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

  17. 双击**“Debit”**方法所在的行。

    将打开 Class1.cs 源代码文件并定位到 Debit 方法所在的位置。 在此文件中,可以看到代码突出显示效果。 用浅蓝色突出显示的代码行已在测试运行中执行过, 用浅褐色突出显示的代码行已部分执行过, 而用红褐色突出显示的代码行则还没有执行过。 可以通过滚动查看此文件中其他方法的覆盖率。

    如果在步骤 7 中选中了 TestProject1.dll 的复选框,则可以打开 Class1Test.cs(即包含单元测试的源代码文件)查看执行过的测试方法。 其中应用了相同的突出显示方案:浅蓝色指示已执行的代码;浅褐色指示已部分执行的代码路径,红褐色指示测试运行时未经过的代码路径。

请参见

任务

演练:创建并运行单元测试

用于创建单元测试的示例项目

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

如何:从 Microsoft Visual Studio 应用测试设置

修订记录

日期

修订记录

原因

2011 年 4 月

已向先决条件部分添加 Visual Studio 2010 版本要求。

客户反馈