7

我在 Visual Studio 2010 Professional 中构建了一个 C++ googletest 项目。这将构建一个生成 XML 测试结果输出的控制台应用程序。如何设置它以获取代码覆盖率信息?

我已经尝试过此处的说明来检测代码,但查看代码覆盖率结果似乎需要 Visual Studio Ultimate。Visual Studio 生成的 .coverage 文件是否有任何转换器?

便携式/免费/开源解决方案的奖励积分!

4

2 回答 2

12

您可以尝试 OpenCppCoverage:http ://opencppcoverage.codeplex.com 。

OpenCppCoverage 是 Windows 下的 C++ 代码覆盖工具。它是开源的,可与 google test / Visual Studio C++ 配合使用。

免责声明:我是这个工具的作者。

希望有所帮助。

编辑以遵循brasofilo 的建议:

为了更准确地了解您的问题,OpenCppCoverage 应该与 Visual Studio C++ 2010 专业版一起使用。唯一的要求是支持本机Pdb 文件 ( http://msdn.microsoft.com/en-us/library/yd4f8bd1%28vs.71%29.aspx )。

它是开源且免费的,您可以在此处找到源代码:https ://opencppcoverage.codeplex.com/SourceControl/latest 。

你说的便携是什么意思?

希望有所帮助。

于 2014-08-24T09:56:51.380 回答
1

我认为您可以为此目的使用 VSTEST.Consol.exe http://msdn.microsoft.com/en-us/library/vstudio/jj155796.aspx。根据文档,它将运行针对任何测试框架编写的测试。您可以启用该 /Enablecodecoverage选项,该选项Enables data diagnostic adapter CodeCoverage in the test run.

更多信息可以在这里找到:http: //blogs.msdn.com/b/bhuvaneshwari/archive/2012/06/16/vstest-console-exe-commandline-test-runner.aspx

还有一个名为 ggcov 的开源代码覆盖工具:http: //ggcov.sourceforge.net/index.html

希望这些有所帮助。

于 2013-04-08T14:35:27.447 回答