繁体   English   中英

使用Visual Studio 2013 Professional进行本地C ++的代码覆盖率报告

[英]Code Coverage Reporting with Visual Studio 2013 Professional for native C++

使用Visual Studio 2013 Professional的C ++单元测试框架,可以编写单元测试并在IDE中运行它们,但是为了生成任何覆盖报告,显然需要有Visual Studio的Premium或Ultimate版本。

是否可以使用专业版获得代码覆盖率报告,最好不安装任何第三方工具? 如果没有,那些没有使用更昂贵的IDE版本的人会有哪些替代选项?

请注意,可以使用命令行工具生成coverage数据,但我无法找到查看结果的方法。 为了便于参考,以下是命令行生成覆盖率统计信息的步骤:

  1. 使用/PROFILE链接器开关构建要测试的代码
  2. 运行vsinstr /coverage <binaryName>来检测代码; 确保您在VS 2013命令提示符下
  3. 运行start vsperfmon -coverage -output:results以运行探查器
  4. 运行单元测试
  5. 通过运行vsperfcmd -shutdown停止探查器

上面会给你一个results.coverage文件,据我所知,没有Premium或Ultimate版本就无法查看它。

使用VS2013 Professional,如果你想在没有第三方工具的情况下做到这一点,你就不走运了。 Requirements: Visual Studio Ultimate, Visual Studio Premiumhttp://msdn.microsoft.com/en-us/library/dd537628.aspx )。 根据我的理解,您已经设法生成* .coverage文件,并且您在打开它时遇到问题。 Visual Coverage( https://github.com/jsargiot/visual-coverage )工具可以帮助您,它使用起来非常简单,它是开源的。 如果您想查找更多替代方案,请参阅另一个SO线程: 在Visual Studio之外查看代码覆盖率结果 这些工具适用于C#覆盖文件,但据我所知,应该没有任何区别。

如果您准备使用第三方库,则可以使用OpenCPPCoverage 它对我来说就像一个命令行应用程序。 但我不能像专业Visual Studio 2013中的visual studio插件那样运行它。

获得覆盖数据的一种可能方法是在单元测试程序上运行一个检测工具包。 仪器工具将告诉您在执行过程中覆盖了多少,您可以轻松地将这些数据与您的单元测试给您的覆盖范围相关联。 我使用XCode项目和OpenPAT完成了这项工作,但您可以使用任何Visual Studio友好工具包执行相同操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM