Microsoft代码覆盖率工具(vsinstr.exe)生成要在Visual Studio中读取的二进制文件。它还可以生成XML文件吗?
答案 0 :(得分:6)
次要更正: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来获取它。
答案 1 :(得分:2)
您还可以使用以下命令从命令行生成XML:
http://blogs.msdn.com/b/ms_joc/archive/2005/04/08/406608.aspx
答案 2 :(得分:2)
据我所知,Visual Studio版本本身不支持命令行上的coverage导出功能。
您可以在分离的Visual Studio项目中使用CoverageInfo和CoverageDS对象,在生成报告之前将文件转换为xml格式。
您可以参考此答案:https://stackoverflow.com/a/20919775/2481351基于this snippet on snip2code