【问题标题】:How do I set up code coverage in C++ googletest project in Visual Studio 2010如何在 Visual Studio 2010 的 C++ googletest 项目中设置代码覆盖率
【发布时间】:2013-04-08 14:18:11
【问题描述】:

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

我已尝试使用指令 here 来检测代码,但查看代码覆盖率结果似乎需要 Visual Studio Ultimate。 Visual Studio 生成的 .coverage 文件是否有任何转换器?

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

【问题讨论】:

    标签: c++ visual-studio-2010 visual-c++ code-coverage googletest


    【解决方案1】:

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

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

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

    希望有所帮助。

    编辑以遵循brasofilo 建议:

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

    它是开源免费的,你可以在这里找到源代码:https://opencppcoverage.codeplex.com/SourceControl/latest

    便携是什么意思?

    希望有所帮助。

    【讨论】:

    • 请根据问题调整每个答案,复制粘贴相同的答案不会剪切它,免责声明或不免责声明。
    • @OpenCppCoverage 很高兴看到您的项目仍然存在 - 最后一次更新是在 4 天前。我注意到您有一个命令行界面 - 不使用 MSVC 并且仍然生成 HML 输出的 Windows 编码人员可以使用该工具吗?是开源软件吗?可以重建它以在 Linux 上使用吗?它是否主要基于gcov(可能还有lcov)并且只是重新包装为MSVC 插件?是否有 Linux 版本的计划,或者如果它是 FOSS,则反对分叉?
    【解决方案2】:

    我认为您可以为此目的使用 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

    希望这些有所帮助。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多