【发布时间】:2011-02-08 20:49:24
【问题描述】:
Microsoft 代码覆盖率工具 (vsinstr.exe) 会生成一个二进制文件,以便在 Visual Studio 中读取。还能生成XML文件吗?
【问题讨论】:
标签: visual-studio-2010 code-coverage instrumentation
Microsoft 代码覆盖率工具 (vsinstr.exe) 会生成一个二进制文件,以便在 Visual Studio 中读取。还能生成XML文件吗?
【问题讨论】:
标签: visual-studio-2010 code-coverage instrumentation
次要更正:vsinstr.exe 是用于检测二进制文件以进行代码覆盖(或分析)的工具。 VSPerfMon.exe 是实际将二进制 .coverage 文件写入磁盘的代码覆盖率监视器。
在IDE内部,在“代码覆盖率结果”工具窗口中,您可以点击“导出结果”以XML格式导出覆盖率数据:
VS2010 没有用于将 .coverage 文件转储为 XML 的命令行实用程序,但是,您可以使用代码覆盖率 API 自己完成此操作。请参阅this blog post(和Peter's blog in general)和CoverageDS.ExportXml 函数。
coverage XML 文件包含类似于您在 VS UI 中看到的摘要数据。如果您需要更具体的覆盖率细节(例如每个块的覆盖率信息),您可以使用代码覆盖率 API 来获取它。
【讨论】:
您还可以使用以下命令从命令行生成 XML:
http://blogs.msdn.com/b/ms_joc/archive/2005/04/08/406608.aspx
【讨论】:
据我所知,没有一个 Visual Studio 版本本身支持命令行上的覆盖导出功能。
您可以在单独的 Visual Studio 项目中使用 CoverageInfo 和 CoverageDS 对象将文件转换为 xml 格式,然后再生成报告。
你可以参考这个答案:https://stackoverflow.com/a/20919775/2481351 基于this snippet on snip2code
【讨论】: