如何在Windows上使用gtest获得代码覆盖率

How can I get code coverage using gtest on Windows?

本文关键字:gtest 代码覆盖率 Windows      更新时间:2023-10-16

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

非常感谢。。

您可以尝试OpenCppCoverage:https://github.com/OpenCppCoverage/OpenCppCoverage.

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

希望有帮助。

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

C++中的代码覆盖率不能仅由测试框架来处理,因为覆盖率分析工具必须知道代码的整个范围(而测试框架没有),并且必须以某种方式对测试中的代码进行检测,以监控代码的哪些部分得到执行。

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