我在 Visual Studio 2010 Professional 中构建了一个 C++ googletest 项目。这将构建一个生成 XML 测试结果输出的控制台应用程序。如何设置它以获取代码覆盖率信息?
我已经尝试过此处的说明来检测代码,但查看代码覆盖率结果似乎需要 Visual Studio Ultimate。Visual Studio 生成的 .coverage 文件是否有任何转换器?
便携式/免费/开源解决方案的奖励积分!
我在 Visual Studio 2010 Professional 中构建了一个 C++ googletest 项目。这将构建一个生成 XML 测试结果输出的控制台应用程序。如何设置它以获取代码覆盖率信息?
我已经尝试过此处的说明来检测代码,但查看代码覆盖率结果似乎需要 Visual Studio Ultimate。Visual Studio 生成的 .coverage 文件是否有任何转换器?
便携式/免费/开源解决方案的奖励积分!
您可以尝试 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 。
你说的便携是什么意思?
希望有所帮助。
我认为您可以为此目的使用 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
希望这些有所帮助。