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

更新:2007 年 11 月

若要查看实际正在测试的项目代码部分,请使用 Visual Studio Team System 测试工具 的代码覆盖率功能。为此,首先请编辑运行配置指示包含要度量其覆盖率的代码的程序集;然后对该代码运行测试。在窗口中将出现详细的代码覆盖率统计信息,并且您还可以逐行查看已测试的代码。

先决条件

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

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

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

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

  2. 在“解决方案资源管理器”的“解决方案项”下,双击运行配置文件 localtestrun.testrunconfig。

    随即出现“localtestrun.testrunconfig”对话框。

  3. 单击“代码覆盖率”。

  4. 在“选择要检测的项目”下选中 Bank.dll 旁边的框,其路径指示为 <Solution Directory>\Bank\bin\Debug。

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

  6. 在“测试”菜单上指向“选择活动测试运行配置”。子菜单将显示解决方案中的所有测试运行配置。在刚刚编辑的运行配置 (localtestrun.testrunconfig) 旁边放一个选中标记;使其成为活动测试运行配置。

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

    运行这两个测试。

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

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

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

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

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

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

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

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

请参见

任务

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

单元测试示例

如何:指定测试运行配置

如何:应用测试运行配置