我正在使用gtest
在Visual Studio 2010中使用C ++测试我的代码。但我无法证明我已达到100%的代码覆盖率。为了确保我已覆盖100%的代码覆盖率,我想知道,有没有办法找出代码覆盖率gtest
?因为我已经搜索了很多但是我没有找到任何可能的方法来通过在Windows环境中使用gtest
来获得代码覆盖率结果。如果有可能请告诉我。
非常感谢..
答案 0 :(得分:37)
您可以尝试使用OpenCppCoverage:https://github.com/OpenCppCoverage/OpenCppCoverage。
它是开源的,专为Visual Studio C ++设计,适用于Google Test。 我已成功用于中型项目(约500 000行代码)。
希望有所帮助。
免责声明:我是该工具的作者。
答案 1 :(得分:4)
C ++中的代码覆盖率不能仅由测试框架处理,因为覆盖率分析工具必须知道代码的整个范围(测试框架没有)并且必须以某种方式检测测试中的代码监视器部分代码被执行。
我和你一样有同样的愿望,想要测量我在MSVC中的测试覆盖率。这就是我所学到的:
MSVC附带了一些用于这些仪器的命令行工具,谷歌搜索将获得一个或两个msdn博客文章关于如何使用它们。坦率地说,它不是很方便和易于使用。如果您寻找第三方工具,您可能找不到任何免费工具。我发现的任何工具都是企业工具,许可证费用在几百到一千多美元之间,如果你不是公司,那么这不是一个真正的选择。