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

时间:2013-08-19 06:18:09

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

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

非常感谢..

2 个答案:

答案 0 :(得分:37)

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

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

希望有所帮助。

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

答案 1 :(得分:4)

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

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