23

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

多谢..

4

2 回答 2

43

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

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

希望有所帮助。

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

于 2014-08-24T10:13:54.520 回答
5

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

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

于 2013-08-19T07:18:00.020 回答