web-dev-qa-db-ja.com

google-test:コードカバレッジ

Googleテストフレームワークを使用したテストでコードカバレッジを取得することは可能ですか?

32
gruszczy

はい、無料(gcov)と商用(CTC++)の両方のツールを正常に使用しました。特別な手順は必要ありません。ドキュメントに従ってください。

詳細については、このブログ http://googletesting.blogspot.dk/2014/07/measuring-coverage-at-google.html をご覧ください。

24
chalup

はい、Gcov/lcovのサポートにより、Gtestベースのアプリケーションをクラブできます。 lcovのドキュメントを参照 http://ltp.sourceforge.net/coverage/lcov.php

あなたの仕事を非常に簡単にし、非常に自己解釈的である1つのLinuxテストプロジェクトユーティリティが利用可能です。

lcov-グラフィカルなGCOVフロントエンド

Ubuntuリポジトリからダウンロード:

$ 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/
    

これは次のようになります- http://ltp.sourceforge.net/coverage/lcov/output/index.html

11
Jinay Patel

(Windowsでのみ機能)

この質問はまだアクティブなようですので、ここに追加のオプションがあります。 Visual Studioで動作するコードカバレッジソリューション(はい、私は作成者です)でGoogleテストをテストしました。プロジェクトは次の場所にあります https://github.com/atlaste/CPPCoverage

手順:プロジェクトを右クリックし、カバレッジを実行します。 :-)

(CIの)XML出力が必要な場合は、カバレッジ実行可能ファイルを手動で呼び出すことができます。

7
atlaste