Visual Studio 2017 を使用することをお勧めします

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

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

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

Noteメモ :

既定では、コード カバレッジは、単体テストを実行する場合に計測されます。そのため、単体テストを実行するときは、コード カバレッジが無効になっている場合、またはその他のアイテムのコード カバレッジ データを収集するためにそれらをインストルメントする場合のみ、「コード カバレッジ データの取得」で説明されている手順を実行する必要があります。

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

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

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

単体テスト以外のテストを実行するときにコード カバレッジ データを取得するには、アイテムを明示的にインストルメント化する必要があります。たとえば、手動テストを実行しているテスタが、特定のプログラムを開始するとします。プログラムのバイナリがインストルメントされている場合は、コード カバレッジ データが収集されます。詳細については、「手動テストの概要」を参照してください。

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

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

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

    単体テストを作成する方法の詳細については、「方法 : 単体テストを生成する」を参照してください。

  2. 単体テストで使用するテスト実行構成を開きます。

    詳細については、「方法 : テスト実行構成を指定する」を参照してください。

  3. [コード カバレッジ] をクリックします。

  4. [インストルメント化する項目を選択する] で、ソリューションの DLL、実行可能ファイル、またはディレクトリを選択します。たとえば、ソリューションの名前が ClassLibrary1 である場合、パスが <Solution Directory>\ClassLibrary1\bin\Debug である ClassLibrary1.dll という名前のアセンブリのチェック ボックスをオンにします。

    Noteメモ :

    テスト プロジェクト ファイルを含む DLL を選択することもできます。これにより、実行コードのメソッドに対してではなく、テスト プロジェクト内のメソッドに対して、コード カバレッジ データが生成されます。

  5. [適用] をクリックし、[閉じる] をクリックします。

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

    詳細については、「方法 : 選択したテストを実行する」を参照してください。

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

    Noteメモ :

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

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

アセンブリの再署名

アセンブリを再署名するには

  1. 単体テストで使用するテスト実行構成を開きます。

    詳細については、「方法 : テスト実行構成を指定する」を参照してください。

  2. [コード カバレッジ] をクリックします。

  3. [再署名するキー ファイル] ボックスのとなりにある省略記号ボタン ([...]) をクリックします。

    [キー ファイルの選択] ダイアログ ボックスが表示されます。

  4. キー ファイルを選択し、[開く] をクリックします。

  5. テストの実行構成エディタで、[適用] をクリックし、[閉じる] をクリックします。

    署名済みの複数のアセンブリをテストする場合、Visual Studio は、指定したキー ファイルを使用して署名された厳密な名前のアセンブリをすべて再署名しようとします。詳細については、「アセンブリのインストルメント化と再署名」の「アセンブリの再署名」を参照してください。

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

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

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

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

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

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

    Noteメモ :

    既定では、このテストの実行ノードには、<ユーザー名>@<コンピュータ名> <日付> <時刻> という形式の名前が付けられます。既定の名前付けスキームは、[オプション] ダイアログ ボックスの [全般] ページで変更できます。詳細については、「方法 : テスト実行構成を指定する」を参照してください。

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

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

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

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

    Noteメモ :

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

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

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

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

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

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

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

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

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

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

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

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

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

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

参照

表示: