7

我们有非常复杂的基于 Web 的产品,包括大量的 Web 服务等。我正在尝试使用 VS 2012 命令行实用程序 vstest.console.exe 收集产品中所有程序集的代码覆盖率。收集单元测试的代码覆盖率非常容易,但是,没有标志或开关表明我可以将进程附加到 IIS 或收集 Web 服务(客户端和服务器端)的信息。

有什么建议么?

4

2 回答 2

7

有关使用Visual Studio 2012 Update 1的Microsoft 测试管理器(MTM)从 IIS 应用程序收集代码覆盖率的详细说明,请参阅此博客:http: //blogs.msdn.com/b/visualstudioalm/archive/2012/11/28 /code-coverage-in-microsoft-test-manager-in-visual-studio-update-1.aspx

这是摘要:

  • 安装VS 更新 1
  • 将 Microsoft Test Manager(MTM) 连接到团队项目(Team Foundation Server)并设置测试计划等。您可以使用Team Foundation Service中的免费帐户来创建团队项目。
  • 创建启用代码覆盖率数据收集器的测试设置。
  • 使用此测试设置运行手动测试或探索性测试。
  • 您将在测试运行结束时获得代码覆盖率文件。

替代解决方案:

  • 使用CodeCoverage.exe收集代码覆盖率。路径:C:\Program Files (x86)\Microsoft Visual Studio 11.0\Team Tools\Dynamic Code Coverage Tools\CodeCoverage.exe。您不需要安装更新 1,但我建议您这样做。例子:

    CodeCoverage collect /IIS /session:WebSession /output:MyWebApp.coverage

于 2012-12-17T06:41:44.427 回答
5

从顶部的工具栏菜单:测试 > 分析代码覆盖率 > 所有测试

结果显示在代码覆盖结果窗口中。测试 > Windows > 代码覆盖率结果

我有 VS2012 Premium,不确定这个功能是否在其他层。

于 2013-02-26T22:40:20.387 回答