方法: コード カバレッジ データを取得する

テストの有効性は、行単位またはブロック単位で計測できます。 これを行うには、コード カバレッジ データを作成するように、テストの実行を構成します。 結果データは、[コード カバレッジの結果] ウィンドウと、ソース コード ファイルに表示されます。

コード カバレッジ データが収集されるのは、アイテム (通常はバイナリ ファイル) がインストルメント化され、テストの実行中にメモリに読み込まれたときです。 「Obtaining Code Coverage Data」の手順では、インストルメンテーションのファイルを選択する方法について説明します。

テストの実行が完了したら、コード カバレッジ データを表示できます。詳細については、「Viewing Code Coverage Data」を参照してください。

要件

  • Visual Studio Ultimate, Visual Studio Premium

コード カバレッジ データの複数のセットをマージすることもできます。詳細については、「方法: コード カバレッジ データをマージする」を参照してください。 コード カバレッジ データのマージに関連する各種操作の詳細については、「マージされたコード カバレッジ データの操作」を参照してください。

アセンブリのインストルメント化と再署名」で説明されているように、インストルメント化された厳密な名前のアセンブリには再署名が必要です。 再署名を有効にするには、キー ファイルを指定します。

コード カバレッジ データの取得

コード カバレッジ データを取得するには

  1. コードのテストを作成します。 これらのテストは、単体テストまたはシンボルを持つコードを実行する種類のテストです。インストルメントする適切なバイナリを選択しておきます。

    単体テストを作成する方法の詳細については、「既存コードに対する単体テストの作成と実行」を参照してください。

  2. 単体テストで使用するテスト設定を開きます。

    詳細については、「Visual Studio から自動テストを実行するためのテストの設定の作成」を参照してください。

  3. 収集するコード カバレッジ データを構成するには、「方法: 自動テストのテスト設定を使用してコード カバレッジを構成する」の手順に従ってください。

  4. テストを 1 つ以上実行します。

    詳細については、「方法: Microsoft Visual Studio から自動テストを実行する」を参照してください。

    テストを実行している間、コード カバレッジ データが収集されます。 表示の詳細については、「Viewing Code Coverage Data」を参照してください。

    注意

    VSPerfMon.exe を実行すると、コード カバレッジ データのコレクションを操作できます。詳細については、「テスト ツールのトラブルシューティング (Visual Studio ALM)」の「コード カバレッジ データと VSPerfMon.exe」を参照してください。

    コード カバレッジ データは、64 ビット プロセスで実行されるアプリケーションについては収集できません。 したがって、このようなアプリケーションのテスト中にコード カバレッジ データを要求すると、テスト エンジンは、インストルメント化するアセンブリの移植可能な実行可能 (PE) ファイルのヘッダーに、"32BIT" フラグを設定します。 テストの実行が完了すると、アセンブリは元の状態に戻ります。

コード カバレッジ データの表示

必要条件: 「Obtaining Code Coverage Data」の説明に従って、コード カバレッジ データを生成するテストを実行済みであること。

コード カバレッジ データを表示するには

  1. [テスト結果] ツール バーの [コード カバレッジの結果] をクリックします。 または、[テスト] メニューの [ウィンドウ] をポイントし、[コード カバレッジの結果] をクリックします。

    [コード カバレッジの結果] ウィンドウが開きます。

  2. [コード カバレッジの結果] ウィンドウの [階層] 列には、最新のテストの実行で取得されたコード カバレッジ データのすべてが含まれているノードが 1 つ表示されます。 エラーが発生した場合、エラー メッセージはルート ノードでなく、この場所に表示されます。 ノードが表示されている場合は、展開します。

    注意

    既定では、このテストの実行ノードには、<ユーザー名>@<コンピューター名> <日付> <時刻> という形式の名前が付けられます。既定の名前付けスキームは、[オプション] ダイアログ ボックスの [全般] ページで変更できます。

  3. アセンブリ、名前空間、および実行コードのクラスの各ノードを展開します。

    クラス内の行は、そのメソッドを表します。 このテーブルの列には、個々のメソッド、クラス、および名前空間全体のカバレッジ統計情報が表示されます。

  4. クラスのいずれかのメソッドの行をダブルクリックします。

    ソース コード ファイルが開き、選択したメソッドが表示されます。 このファイルでは、コードが強調表示されています。 スクロールすると、このファイルのその他のメソッドのカバレッジを確認できます。 強調表示されるコード行の色を変更する方法については、「Changing the Display of Code Coverage Data」を参照してください。

    注意

    [テスト ツール] ツール バーのボタンをクリックすると、ファイル内のコード カバレッジの表示を切り替えたり、ファイル内で前後のコード行に移動したりできます。

  5. (省略可能) テスト プロジェクトの DLL のチェック ボックスをオンにした場合、単体テストが含まれるソース コード ファイルを開き、実行されたテスト メソッドを確認できます。

コード カバレッジのさまざまな計算結果の表示

コード カバレッジの計算では、コード カバレッジの合計数が [コード カバレッジの結果] ウィンドウに列として表示されます。 テストの実行でカバーされたコードやカバーされなかったコードの計算結果を表示する列を 8 列まで有効にできます。 計算結果をパーセントまたは行数の合計として表示する列を有効にできます。 また、コード行またはコード ブロックの計算結果を表示する列を有効にすることもできます。

コード カバレッジ データの列の表示と非表示を切り替えるには

  1. [コード カバレッジの結果] ウィンドウで任意のデータを右クリックします。

  2. [列の追加と削除] をクリックします。

  3. 表示する項目の横のチェック ボックスをオンにし、表示しない項目の横のチェックボックスをオフにします。

  4. [OK] をクリックします。

コード カバレッジ強調表示の変更

既定では、実行されたテストで処理されたコードかどうかを示すために、特定の色が使用されます。 明るい青で強調表示されている行はテスト実行で実行されていて、赤茶で強調表示されている行は実行されていません。 ベージュで強調表示されている行の一部のコードは実行されていますが、その他のコードは実行されていません。

コード カバレッジ データの表示を変更するには

  1. [ツール] をクリックし、[オプション] をクリックします。

    [オプション] ダイアログ ボックスが表示されます。

  2. [環境] を展開します。

  3. [フォントおよび色] をクリックします。

  4. [設定の表示][テキスト エディター] をクリックします。

  5. [表示項目] で、表示色を変更するコード カバレッジの領域を選択します。 [カバーされなかった領域][部分的にタッチされたエリアのカバレッジ]、および [タッチされたエリアのカバレッジ] から選択します。

  6. コード カバレッジのこの領域の設定を変更します。 前景色、背景色、フォント、フォント サイズ、およびテキストの太字表示を変更できます。

  7. (省略可能) コード カバレッジのその他の領域の設定を変更します。

  8. 終了したら、[OK] をクリックします。

参照

タスク

方法: Microsoft Visual Studio から自動テストを実行する

Visual Studio から自動テストを実行するためのテストの設定の作成

テスト ツールのトラブルシューティング (Visual Studio ALM)

概念

アセンブリのインストルメント化と再署名

マージされたコード カバレッジ データの操作

その他のリソース

既存コードに対する単体テストの作成と実行