谷歌测试:代码覆盖率

时间:2010-03-01 21:54:03

标签: c++ code-coverage googletest

是否可以通过使用谷歌测试框架的测试来完成代码覆盖?

3 个答案:

答案 0 :(得分:22)

是的,我已成功使用免费(gcov)和商业(CTC ++)工具。无需特殊步骤,只需按照文档进行操作即可。

可以在此博客中找到更多详细信息 http://googletesting.blogspot.dk/2014/07/measuring-coverage-at-google.html

答案 1 :(得分:10)

是的,您可以在Gcov / lcov的支持下为您的Gtest Based应用程序提供支持。 请参阅lcov http://ltp.sourceforge.net/coverage/lcov.php

的文档

有一个Linux测试项目实用程序可以使您的工作变得非常简单并且非常自我解释。

lcov - 图形化GCOV前端

从Ubuntu repo下载:

$ sudo apt-get install lcov
  1. 在构建目录中使用以下命令

    $ lcov --directory ./build/ --capture --output-file ./code_coverage.info -rc lcov_branch_coverage=1
    
  2. 运行应用程序

  3. 生成HTML报告

    $ genhtml code_coverage.info --branch-coverage --output-directory ./code_coverage_report/
    
  4. 这看起来像 - http://ltp.sourceforge.net/coverage/lcov/output/index.html

答案 2 :(得分:5)

(仅适用于Windows)

似乎这个问题仍然存在,所以这里有一个额外的选择。我刚刚在我们的代码覆盖率解决方案上测试了Google测试(是的,我是作者),它适用于Visual Studio。该项目位于:https://github.com/atlaste/CPPCoverage

说明:右键单击项目,运行coverage。 : - )

如果您更喜欢XML输出(对于CI),则可以手动调用coverage可执行文件。