【问题标题】:How can I get code coverage using gtest on Windows?如何在 Windows 上使用 gtest 获得代码覆盖率?
【发布时间】:2013-08-20 21:00:49
【问题描述】:

我正在使用 gtest 在 Visual Studio 2010 中测试我的 C++ 代码。但我无法确定我已经达到 100% 的代码覆盖率。为了确保我已经覆盖了 100% 的代码覆盖率,我想知道,有没有办法找出代码覆盖率 gtest 或没有?因为我搜索了很多,但我没有找到任何可能的方法来通过在 Windows 环境中使用 gtest 来获得代码覆盖率结果。如果可以,请告诉我。

非常感谢..

【问题讨论】:

  • 为什么要-ve投票??我真的没有找到任何解决方案,这就是我在这个门户中提出问题的原因。试着理解
  • 您需要使用编译器的覆盖工具。它与测试框架(gtest、cppunit 等)无关。
  • @Rasmi Ranjan Nayak:我曾经使用 NCover 进行 .Net 代码覆盖。也将 gtest 用于 C++。但不确定是否有任何关于 C++ 代码覆盖率的工具。
  • @RasmiRanjanNayak:+1。不值得对这个问题投反对票。
  • @pranitkothari 为什么测试用例的覆盖率应该很低?如果您执行所有测试,应该有大约。 100% 的测试用例覆盖率。但当然目标是获得 100% 的应用程序代码覆盖率。

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


【解决方案1】:

C++ 中的代码覆盖率不能由测试框架单独处理,因为覆盖率分析工具必须知道代码的全部范围(测试框架没有),并且它必须以某种方式检测被测代码以监视代码的哪些部分被执行。

我曾经和你有同样的愿望,想在 MSVC 中测量我的测试覆盖率。这是我学到的:
MSVC 附带了一些用于这些工具的命令行工具,谷歌搜索一下会得到一两篇关于如何使用它们的 msdn 博客文章。坦率地说,它不是很方便和易于使用。如果您寻找第三方工具,您可能找不到任何免费工具。我发现的任何工具都是企业工具,许可费用在几百到一千多美元之间,所以如果你不是一家公司,这不是一个真正的选择。

【讨论】:

    【解决方案2】:

    你可以试试 OpenCppCoverage:https://github.com/OpenCppCoverage/OpenCppCoverage

    它是开源的,专为 Visual Studio C++ 设计,可与 Google Test 配合使用。 我已经成功地用于中型项目(约 500 000 行代码)。

    希望有所帮助。

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

    【讨论】:

    • 它适用于Visual Studio 2010 Ultimate/Professional Edition 吗?我们有Windows-7Windows-Vista OS.. 让我知道系统依赖关系
    猜你喜欢
    • 2022-11-04
    • 2013-09-12
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多