演练:运行测试并查看代码覆盖率
若要查看实际正接受测试的项目代码的比例,请使用 Visual Studio 2012 RC 的代码覆盖率功能。 为此,首先编辑运行配置指示包含要测量其复盖率的代码的程序集;然后,运行测试该代码。 在窗口中将出现详细的代码覆盖率统计信息,并且您还可以逐行查看已测试的代码。
系统必备
Visual Studio 高级专业版 2010 或 Visual Studio 旗舰版 2010
执行步骤在过程 “运行单元测试并修复代码” 演练:创建并运行托管代码的单元测试。 这将创建要在以下过程中运行的两个测试。
运行测试并查看代码覆盖率
运行测试并查看代码覆盖率
请注意“解决方案资源管理器”中的解决方案的名称。 如果使用演练:创建并运行托管代码的单元测试中的项目,则解决方案的名称为 Bank。 此解决方案包含测试代码。
在“解决方案资源管理器”的“解决方案项”下,双击测试设置文件 Local.testsettings。
此时将显示**“测试设置”**对话框。
选择 数据和诊断。
在 角色,选择下的 <仅本地计算机> 作为使用的角色收集代码复盖率数据。
警告
对于代码覆盖率数据,这必须是将运行测试的角色。
若要修改默认代码复盖率设置,在诊断数据适配器列表 代码复盖率 选中复选框然后单击正上方诊断数据适配器列表驻留的 配置 。
此时将显示用于配置代码覆盖率收集的**“代码覆盖率详细信息”**对话框。
警告
如果还将测试设置配置为收集 IntelliTrace 信息,则收集代码覆盖率数据不起作用。
从列表中选择要检测的项目。
(可选)若要添加不显示的其他程序集,请单击**“添加程序集”**。
此时将显示**“选择要检测的程序集”**对话框。
- 找到要在代码覆盖率中包括的程序集文件(.exe、.dll 或 .ocx),然后单击**“打开”**。 该文件添加到列表中。
(可选)选择**“就地检测程序集”**以在生成文件的位置检测文件,或者在将文件复制到部署目录后检测文件。 有关在何处检测程序集的更多信息,请参见选择检测文件夹。
(可选)如果添加的任何一个程序集具有强名称,您必须对这些程序集进行重新签名。 单击(“...”)可找到当重新对程序集签名时必须使用的密钥文件。 有关如何对程序集进行重新签名的更多信息,请参见对程序集进行检测和重新签名。
单击**“确定”**。 现在已为测试设置配置并保存了代码覆盖率设置。
备注
若要重置此诊断数据适配器的配置,请单击“重置为默认配置”。
在对话框中单击**“另存为”,再单击“保存”。 将出现一个消息框,提示您是否保存现有文件。 在消息框中单击“是”**替换现有文件。
在**“测试”菜单上,指向“选择当前测试设置”**。 子菜单将显示解决方案中的所有测试设置。 在刚刚编辑的测试设置 (Local.testsettings) 旁边放一个选中标记, 使其成为当前测试设置。
在**“测试列表编辑器”中,选中“CreditTest”和“DebitTest”旁边的复选框并右击,然后单击“运行选中的测试”**。
运行这两个测试。
在**“测试工具”工具栏上单击“代码覆盖率结果”**。
随即打开**“代码覆盖率结果”**窗口。
**“代码覆盖率结果”窗口中的“层次结构”**列将显示一个节点,该节点包含最新测试运行中得到的所有代码覆盖率数据。 测试运行节点的命名格式为 <user name>@<computer name> <date> <time>。 展开此节点。
展开程序集 Bank.dll 节点、命名空间 BankAccountNS 节点和 BankAccount 类节点。
BankAccount 类中的行表示其方法。 此表中的列显示了各个方法、类和整个命名空间的覆盖率统计数据。
双击**“Debit”**方法所在的行。
将打开 Class1.cs 源代码文件并定位到 Debit 方法所在的位置。 在此文件中,可以看到代码突出显示效果。 行在测试显示了浅蓝色已执行过,行显示了浅褐色部分执行过,并且行而用红褐色突出显示的代码执行。 可以通过滚动查看此文件中其他方法的覆盖率。
如果在步骤 7 中选中了 TestProject1.dll 的复选框,则可以打开 Class1Test.cs(即包含单元测试的源代码文件)查看执行过的测试方法。 同一个显示模式适用:浅蓝色指示已执行的代码;浅褐色指示已部分执行的代码路径,因此,红棕色指示是旅客可用于少走过的在测试运行的代码路径。