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

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

系统必备

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

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

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

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

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

  3. 选择 数据和诊断

  4. 角色,选择下的 <仅本地计算机> 作为使用的角色收集代码复盖率数据。

    警告

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

  5. 若要修改默认代码复盖率设置,在诊断数据适配器列表 代码复盖率 选中复选框然后单击正上方诊断数据适配器列表驻留的 配置

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

    警告

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

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

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

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

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

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

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

    备注

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

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

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

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

    运行这两个测试。

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

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

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

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

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

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

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

    如果在步骤 7 中选中了 TestProject1.dll 的复选框,则可以打开 Class1Test.cs(即包含单元测试的源代码文件)查看执行过的测试方法。 同一个显示模式适用:浅蓝色指示已执行的代码;浅褐色指示已部分执行的代码路径,因此,红棕色指示是旅客可用于少走过的在测试运行的代码路径。

请参见

任务

演练:创建并运行托管代码的单元测试

创建的单元测试示例项目

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

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