2013-04-08 346 views
2

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

我试过指令here来测试代码,但查看Code Coverage结果似乎需要Visual Studio Ultimate。 Visual Studio生成的.coverage文件是否有转换器?

便携式/免费/开放源代码解决方案的积分!

回答

0

我认为你可以使用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

希望这些帮助。

+0

看起来像VSTest.Console.exe自带Visual Studio 2012;我仍然在2010年。 – 2013-04-08 14:40:53

+0

@PsZk不,它也来自VS2010。根据这个链接:http://social.msdn.microsoft.com/Forums/en-US/vststest/thread/6b9c5303-2c0d-4790-9552-cee3eef6df0c/ – taocp 2013-04-08 14:43:59

7

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

OpenCppCoverage是C++在Windows下的代码覆盖工具。它是开源的,可以很好地与谷歌测试/ 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

你是什么意思的便携式?

希望有所帮助。

+0

请根据问题定制每个答案,复制粘贴相同的答案不会削减它,免责声明或不声明。 – brasofilo 2014-08-24 14:29:44

+0

@OpenCppCoverage很高兴看到您的项目还活着 - 4天前的最后更新。我注意到你有一个命令行界面 - 该工具是否可以被不使用MSVC并且仍然生成HML输出的Windows编码器使用?它是否是FOSS?它可以重建用于Linux?它主要基于'gcov'(也许''lcov')并且只是重新打包为一个MSVC插件?任何有关Linux版本的计划,或者如果是FOSS都反对分叉? – Mawg 2015-09-09 08:30:27