google-test: code coverage

2019-02-02 21:53发布

问题:

Is it possible to get code coverage done by tests using google test framework?

回答1:

Yes, I've successfully used both free (gcov) and commercial (CTC++) tools. No special steps are needed, just follow the documentation.

More details can be found in this blog http://googletesting.blogspot.dk/2014/07/measuring-coverage-at-google.html



回答2:

Yes, You can club your Gtest Based application with support of Gcov/lcov. refer the documentation of lcov http://ltp.sourceforge.net/coverage/lcov.php

there is one linux test project utility available which does your job very easy and is very self-interpretative.

lcov - a graphical GCOV front-end

Download from Ubuntu repo:

$ sudo apt-get install lcov
  1. Use following commands in your build directory

    $ lcov --directory ./build/ --capture --output-file ./code_coverage.info -rc lcov_branch_coverage=1
    
  2. Run the Application

  3. Generate HTML Report

    $ genhtml code_coverage.info --branch-coverage --output-directory ./code_coverage_report/
    

This will look something like - http://ltp.sourceforge.net/coverage/lcov/output/index.html



回答3:

(Only works on Windows)

It seems this question is still active, so here's an additional option. I've just tested Google Tests on our code coverage solution (yes, I'm the author), which works on Visual Studio. The project can be found at: https://github.com/atlaste/CPPCoverage

Instructions: right-click project, run coverage. :-)

If you prefer an XML output (for CI), you can call the coverage executable manually.