web-dev-qa-db-ja.com

Windowsでgtestを使用してコードカバレッジを取得するにはどうすればよいですか?

Visual Studio2010を使用してC++でコードをテストするためにgtestを使用しています。しかし、100%のコードカバレッジに到達したことを確認できませんでした。私が100%のコードカバレッジをカバーしていることを確認するために、コードカバレッジgtestを見つける方法はありますか?私はたくさんグーグルで検索しましたが、Windows環境でgtestを使用してコードカバレッジの結果を取得する方法が見つかりませんでした。可能であればお知らせください。

どうもありがとう..

20

C++のコードカバレッジは、テストフレームワークだけでは処理できません。これは、カバレッジ分析ツールがコードの全範囲を認識している必要があり(テストフレームワークが認識していない場合)、テスト対象のコードを何らかの方法でインストルメント化して、どの部分を監視する必要があるためですコードのが実行されます。

私はかつてあなたと同じ願望を持っていました。MSVCで私のテストカバレッジを測定したいと思っていました。これは私が学んだことです:
MSVCには、これらのインストルメンテーション用のコマンドラインツールがいくつか付属しています。少しグーグルすると、それらの使用方法に関する1つまたは2つのmsdnブログ投稿が表示されます。率直に言って、それはあまり便利で使いやすいものではありません。サードパーティのツールを探している場合、おそらく無料のツールは見つかりません。私が見つけたツールはすべて、ライセンス料が数百ドルから数千ドルを超えるエンタープライズツールでした。したがって、会社でない場合は、実際には選択肢にはなりません。

4
Arne Mertz

OpenCppCoverageを試すことができます: https://github.com/OpenCppCoverage/OpenCppCoverage

これはオープンソースであり、Visual Studio C++用に設計されており、GoogleTestでうまく機能します。私はすでに中規模のプロジェクト(約500 000行のコード)で正常に使用しました。

お役に立てば幸いです。

免責事項:私はツールの作成者です。

39
OpenCppCoverage