コードカバレッジ
CppDepend のコード カバレッジでソフトウェア品質を向上
CppDepend はコードカバレッジデータを統合し、未テストのコードの特定、テストの有効性の測定、ソフトウェア全体の品質向上を支援します。このセクションでは、さまざまなソースからカバレッジデータを構成およびインポートする方法を説明します。
対応カバレッジ技術
CppDependはカバレッジデータをインポート可能:
- Bullseye カバレッジファイル
- Cobertura
- Visual Studio Team System
- CTC++
Visual StudioのXMLカバレッジファイル
Visual Studioには2つのカバレッジファイル形式があります。
- A バイナリ形式 ファイル拡張子が .coverage。これはVisual Studioからテストして得られる形式です。またはVSPerfMon.exeツールで.coverageファイルを取得することもできます。その場合、カバーする各プロジェクトを/Coverageオプション付きのVSInstr.exeツールでインストルメントする必要があります。
- A XML形式 (拡張子付き .coveragexml VS 2010以降、 .xml 以前のバージョン向け)
CppDependはXML形式のみを消費します。Visual StudioのバイナリカバレッジファイルからこのオプションでXMLを手動エクスポート可能:

以下のコードスニペットを参照。わずか3行でバイナリカバレッジファイルをXMLカバレッジファイルに変換。
- そのためにはプロジェクトからアセンブリを参照する必要があります: Microsoft.VisualStudio.Coverage.Analysis.dll:
- このDLLのx86版は次にあります: C:\Program Files (x86)\Microsoft Visual Studio XX.0\Common7\IDE\PrivateAssemblies
- このDLLのx64版はTFSがインストールされたx64サーバーの次の場所にあります: C:\Program Files\Microsoft Team Foundation Server XX.0\Application Tier\TFSJobAgent\Plugins
- 両方 System.Data と System.Data.DataSetExtensions も参照する必要があります。
- コードをVSやTFSのインストールから独立させたい場合は、次もデプロイする必要があります: Microsoft.VisualStudio.Coverage.Interop.dll 使用されている Microsoft.VisualStudio.Coverage.Analysis.dll.
using Microsoft.VisualStudio.Coverage.Analysis;
...
var pathInBinary = @"C:\Dir\File.coverage";
var pathOutXml = @"C:\Dir\File.coveragexml";
var coverageInfo = CoverageInfo.CreateFromFile(pathInBinary);
var data = coverageInfo.BuildDataSet();
data.WriteXml(pathOutXml);
CTC++のXMLカバレッジファイル
使用できます: Ctc2cob Testwell CTC++レポートをCobertura形式のXMLレポートに変換するツール。
カバレッジファイル設定
VisualCppDependメニューで: プロジェクトプロパティ > 解析 > コードカバレッジ > 設定

カバレッジデータをインポート
VisualCppDependメニューで: カバレッジ > コードカバレッジデータのインポート
または
VisualStudioメニューで: CppDepend > カバレッジ > コードカバレッジデータのインポート

