マージされたコード カバレッジ データ
更新 : 2007 年 11 月
「方法 : コード カバレッジ データをマージする」で説明されているように、複数のテストの実行または複数のテスト担当者によって取得されたコード カバレッジ データをマージできます。また、コード カバレッジ データのマージ結果を保存して、再インポートすることもできます。以下のセクションでは、コード カバレッジ データに対するさまざまな操作について説明します。
テスト結果をマージする際の制限事項
カバレッジ データをマージおよびインポートするときに影響を受ける可能性がある、最も一般的な制限事項を次に示します。
XML データのインポート - XML ファイルからコード カバレッジ データをインポートする場合、行カバレッジの統計情報のみを表示でき、ブロック カバレッジの統計情報は表示できません。詳細については、「マージされたテスト結果のエクスポートおよびインポート」を参照をしてください。
テスト実行データのマージ - ASP.NET テストの実行を含むテスト結果をマージする場合、[コード カバレッジの結果] ウィンドウでは、ASP.NET の成果物のデータは、個別の計算結果を含む別のノードに表示されます。詳細については、「ASP.NET テスト結果のデータのマージ」を参照してください。
テスト実行間のコードの再コンパイル - テスト実行の途中で実行コードを再コンパイルしてからその結果のマージを試みると、マージに失敗する可能性があります。詳細については、「コード カバレッジ データ ファイルのインポート」を参照してください。
マージされたテスト結果のエクスポートおよびインポート
テスト結果をマージしたら、マージの結果を XML ファイルとしてエクスポートして保存できます。エクスポートの詳細については、「方法 : テスト結果をエクスポートする」を参照してください。
この XML ファイルにはマージされたコード カバレッジ データがすべて含まれており、ファイルを再インポートするとそのデータを確認できます。これには、コード行やコード ブロックに関する統計情報が含まれます。
メモ : |
---|
[コード カバレッジ] ウィンドウの列を構成すると、カバーされたコード行の割合、カバーされていないコード行の割合、およびテスト中に部分的にカバーされたコード行の割合など、コードの行やブロックに関するさまざまなデータを表示できます。 |
ただし、この XML ファイルを再インポートし、他のコード カバレッジ データとマージした場合は、行のカバレッジに関する統計情報だけが保持され、ブロック カバレッジに関する統計情報は保持されません。
ASP.NET テスト結果のデータのマージ
1 つ以上の ASP.NET テストの実行を含む結果をマージできますが、[コード カバレッジの結果] ウィンドウでは、ASP.NET データは単一のマージされたノードにではなく、個別のノードの [マージされた結果] に表示されます。つまり、ASP.NET テストを含む実行も含めて、選択されたすべてのテストの実行のデータを表示できますが、ASP.NET コード カバレッジ データをマージする統計計算は実行されません。したがって、ASP.NET テストのデータは 1 つのノードにマージされて表示されるのではなく、テストの実行ごとに異なるノードに表示されます。
この制限は、ASP.NET の成果物にのみ適用されます。ASP.NET テストの実行中には、ASP.NET プロジェクトが参照する DLL や ASP.NET プロジェクトに追加されたアセンブリなど、他のバイナリ ファイルをテストするときにもコード カバレッジ データを収集できます。この場合は、特定のバイナリ ファイルのコード カバレッジ データが単一のマージされたノードとして [マージされた結果] に表示されます。
コード カバレッジ データ ファイルのインポート
収集されたコード カバレッジ データは、ネイティブ形式で .coverage 拡張子のファイルに保存されます。テストの実行後にコード カバレッジ データを確認する場合、Visual Studio は、生成された .coverage ファイルを開くことでこのデータを表示します。また、Visual Studio は .coverage ファイル名拡張子と関連付けられているため、この拡張子のファイルを Windows エクスプローラでダブルクリックすると、ファイルが自動的に Visual Studio で開かれます。
コード カバレッジ データなどのテストの結果データは、明示的にエクスポートした場合にのみ XML 形式で保存されます。コード カバレッジ データを XML ファイルとしてエクスポートする唯一の目的は、複数のコード カバレッジ結果をマージした結果を保存することです。
.coverage ファイルは、[コード カバレッジの結果] ウィンドウのツール バーの [インポート] を使用してインポートできます。これを行う場合は、次の点に注意してください。
.coverage ファイルを開くには、インストルメント化されたアセンブリとそのプログラム デバッグ データベース ファイル (拡張子 .pdb) が、ディスク上で Visual Studio から参照できる場所に置かれている必要があります。
この種類のファイルをインポートするとき、Visual Studio は、.coverage ファイルのあるディレクトリと、テストの実行時にアセンブリが含まれていたディレクトリを検索します。検索のために、Visual Studio は _NT_SYMBOL_PATH 変数と VSCOVER_BINPATH 変数を使用します。_NT_SYMBOL_PATH 変数がシンボルのあるディレクトリに設定され、VSCOVER_BINPATH がアセンブリのあるディレクトリに設定されていれば、Visual Studio で必要なファイルを見つけて .coverage ファイルを開くことができます。しかし、Visual Studio が前のパスからシンボルまたはアセンブリを見つけられない場合、.coverage ファイルを開くことはできません。これらのパスと変数の重要性を理解しておくと、.coverage ファイルを直接インポートする場合に役立ちます。
テスト結果を含む XML ファイルでは、このような動作は起きません。XML は単体で使用でき、アセンブリや .pdb ファイルが開かれている必要はありません。
複数の .coverage ファイルをインポートすると、ブロックと行の両方に関する統計情報を表示できるようになります。ただし、.coverage と XML の両方のファイル形式からコード カバレッジ データをインポートした場合は、行カバレッジの統計情報のみが表示され、ブロック カバレッジの統計情報は表示されません。