dotCover 2019.2ヘルプ

入門

JetBrains dotCoverは、.NETユニットテストランナーおよびコードカバレッジツールです。dotCoverを使用すると、.NETアプリケーションコードの実際にテストされている量を分析できます。ユニットテスト中またはアプリケーションを手動で実行するときにメソッド呼び出しを測定することにより、dotCoverは、どのステートメントがカバーされ、どのステートメントがカバーされなかったかを示します。

dotCoverはVisual Studio 2010, 2012, 2013, 2015, 2017,および2019に統合します。他のReSharper Ultimate(英語)ツールの有無にかかわらずdotCoverをインストールしてVisual Studioを開くと、メインメニューのReSharper | ユニット・テストReSharper | カバーにdotCoverコマンドがあります。これらのメニューから、dotCoverで利用可能な様々なコマンドを実行することができます。

ユニットテストとコードカバレッジ

dotCoverを使用する最も基本的なシナリオは、テストでカバーするコードの量を測定することです。ベースライン条件は以下の通りです。Visual Studioでソリューションを開いています。ソリューションのコードは、いくつかの単体テストでカバーされています。タスクは、どの程度のコードがカバーされているかを理解することです。

ソリューション内の単体テストのカバレッジを分析するには

  1. メインメニューからReSharper | ユニット・テスト | ユニット・テストを選択します。これにより、ユニットテストエクスプローラーツールウィンドウが開きます。ここでは、ソリューション内にいくつのテストがあるかを見ることができます。

    unit test explorer howto

  2. ユニットテストエクスプローラーウィンドウで、カバレッジを分析したいテストを選択します。すべてのテストを分析したい場合は、ツリーの最上位ノードを選択してください。カバレッジフィルタを使用して、カバレッジ範囲を制限することができます。

  3. カバーユニットテスト ThemedIcon Cover Screen Gray をクリックします。これにより、通常のユニットテストセッションが実行されますが、dotCoverはカバレッジデータをバックグラウンドで収集します。テスト結果は、新しく開かれた単体テストセッションウィンドウにリアルタイムで表示されます。ユニットテストカバレッジツールウィンドウには、カバレッジ結果(コード内の特定のクラスとメソッドをテストする方法)が表示されます。

    unit test sessions coverage

  4. 特定のクラスまたはメソッドを正確にカバーするテストを表示するには、ユニットテストカバレッジウィンドウでそれを選択し、コンテキストメニューでカバーテストを表示するを選択します。

    covering tests

  5. ThemedIcon Highlighting Screen Gray 強調表示コードボタンをクリックして、コードカバレッジを視覚化します。

    default coverage highlighting
    既定では、カバレッジとテスト結果は、Visual Studioエディターの左側のざらつきのマーカーで表示されます。マーカーは、現在のステートメントに関連するテストが失敗した場合は赤、テストが合格なら緑、テストがない場合はグレーですこの声明をカバーしています。

  6. ユニットテストカバレッジウィンドウにはさらに便利なメトリックが1つあります。 dotCover hot spots icon ホットスポットをクリックすると、潜在的に危険なクラスの「クラウド」が表示されます:循環的複雑性は高いがテストではあまりカバーされていないクラス。

    hot spots coverage

アプリケーションの範囲

dotCoverにより、特定のユースケースシナリオのコードカバレッジを計算できます。 Ctrl+Alt+K P を押すか、メニューdotCoverコントロール下でソリューションのスタートアッププロジェクトを開始ReSharper | カバー | カバースタートアッププロジェクトを選択します。あるいは、Ctrl+Alt+K K またはReSharper | カバー | 表紙アプリケーション...を使用すると、コードカバレッジを計算するアプリケーションを指定できます。

dotCover Dialog Boxes Coverage Configuration

次に、アプリケーションを実行し、ユースケースのシナリオを実行し、完了したらスナップショットを取得するためにdotCoverに伝えます。テストされたアプリケーションがdotCoverコントロールで動作する限り、スナップショットを取得するをクリックしてテストされたアプリケーションで作業したときにどのコード行がカバーされているかを確認できるコントローラーダイアログが表示されます。

dotCover controller

カバレッジ結果のフィルタリング

コードカバレッジの結果は、インフラストラクチャコードや調査に興味のないプロジェクトで混乱する可能性があります。特定のノードを右クリックしてカバレッジフィルタを除外して作成するを選択することで除外できます。

Excluding nodes from dotCover coverage results

項目を除外して対応する実行時カバレッジフィルタを作成すると、次回カバレッジ解析を実行するときにdotCoverはその項目をカバーしないように指示されます。

カバレッジフィルタは、カバレッジフィルタダイアログ(Ctrl+Alt+K FまたはReSharper | カバー | カバレッジフィルタを編集...)を介して管理することもできます。フィルタは、開いているソリューションまたはアクティブなソリューションを対象としている任意のソリューションに対して定義できます。

dotCover helps filtering coverage results

これらの基本を習得したら、キーボードショートカットを学んだり、dotCoverのコマンドラインバージョンの使い方をチェックしたりできます。

最終更新日: 2019年8月12日

関連事項

プロシージャー:

関連ページ:

カバレッジフィルタを設定する

場合によっては、カバレッジ分析の範囲を制限する必要があります。例:複数のプロジェクトと何千ものテストを含む大スコープアプリケーションの開発に参加している場合、これは意味があります。この場合、ソリューション内のすべてのプロジェクト(タイプ、タイプメンバー)の対象範囲を分析する必要はありませんが、特定の...

ユニットテストカバレッジ

Visual Studioの場合:このウィンドウでは、単体テストのカバレッジ実行中に取得されたカバレッジデータを調査できます。各スナップショットは2つのビューで表示でき、ツールバーの右側にあるボタンで切り替えることができます。カバレッジツリー:このビューでは、すべてのコード項目がツリー構造でグループ...

継続的なテストを使用する

継続的テストの概念は、コードを変更するとすぐに実際のテスト結果がすぐに得られることを意味します。プロジェクトを手動で再構築して変更を加えた後、すべてのテストを再実行する必要はありません。影響を受けるテストは自動的にバックグラウンドで実行されます(テストセッションは、変更の保存やプロジェクトの構築など...

カバレッジ結果の操作

どのタイプのカバレッジ解析、ユニットテストのカバレッジ、アプリケーションのカバレッジ、またはサーバー側のテストのカバレッジを問わず、dotCoverはカバレッジ結果をカバレッジスナップショットに保存します。その後、次のいずれかの方法でこれらの結果をさらに詳しく調べることができます。カバレッジ結果ブラ...