Visual Studio 2012 のコード カバレッジ ツールは、テスト実行システムから完全に分離されています (完全な開示: 私が作成しましたが、Microsoft を離れた後にそれを継承したチームは、かなり有用な機能をいくつか削除しました)。VS 2012 でゼロから書き直され、ディスク上の実行可能ファイルを変更する代わりに、プロセスに読み込まれるときにネイティブ (x86 および x86-64) およびマネージド コード (.NET および Silverlight) を動的に計測するようになりました。
CodeCoverage.exe は "%ProgramFiles%\Microsoft Visual Studio 11.0\Team Tools\Dynamic Code Coverage Tools" にあります。
データを収集するには:
CodeCoverage.exe collect /output:foo.coverage foo.exe foos_args
構成ファイル (CodeCoverage.config という名前のディレクトリに既定のファイルがあります) を指定して、収集を制御できます。
カバレッジ データを分析するには、Visual Studio 2012 で foo.coverage を開くか、カバレッジ ツール自体を使用して分析を行います。
CodeCoverage.exe analyze /output:results.xml foo.coverage
注: 計測を行うには、モジュールの .pdb ファイルを検出する必要があります。2010 で構築しているため、2012 の DIA では機能しない可能性があるため、2012 のツールセットで再構築する必要がある場合があります。カバレッジ分析で期待するモジュールが表示されない場合は/include_skipped_modules
、analyze コマンドに渡します。モジュールがスキップされた理由 (除外、デバッグ情報なしなど) を示す "reason" 属性があります。
編集: また、以前のバージョンの Visual Studio とは異なり、2012 のカバレッジ ファイル形式は完全に自己完結型です。モジュールと .pdbs は、分析時に存在する必要はありません。