dotCover 2020.2 ヘルプ

入門

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

dotCover は Visual Studio2010, 2012, 2013, 2015, 2017, および 2019 に統合されます。他の dotUltimate ツールの有無にかかわらず dotCover をインストールし、Visual Studio を開くと、メインメニューの ReSharper | ユニットテストおよび ReSharper | カバーに dotCover コマンドが表示されます。これらのメニューから、dotCover で使用可能なさまざまなコマンドを実行できます。

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

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

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

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

    dotCover: Unit test explorer

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

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

    dotCover: Unit test session coverage

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

    dotCover: Covering tests

  5. ハイライトコード Highlight code をクリックして、コードカバレッジを視覚化します。

    dotCover: Default coverage highlighting
    デフォルトでは、カバレッジとテスト結果はエディターの左側のガターにマーカーで表示されます。現在のステートメントに関連するテストが失敗した場合はマーカーが赤、すべてのテストが合格した場合は緑、これをカバーするテストがない場合は灰色になります。ステートメント。

  6. ユニットテストカバレッジウィンドウには、もう 1 つの非常に便利なメトリックが含まれています。ホットスポット Hot Spots をクリックすると、潜在的に危険なクラスの「クラウド」が表示されます。これは、循環的複雑度が高いが、テストで十分にカバーされていないクラスです。

    dotCover: Hot spot coverage view

アプリケーションの範囲

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

dotCover: Coverage Configuration dialog

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

dotCover controller dialog

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

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

Excluding nodes from dotCover coverage results

アイテムを除外し、対応するランタイムカバレッジフィルターを作成すると、dotCover が次にカバレッジ分析を実行するときにアイテムをカバーしないように指示されます。

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

dotCover helps filtering coverage results

これらの基本をマスターしたら、キーボードショートカットを習得したり、dotCover のコマンドラインバージョンの操作方法を確認したりできます。

最終更新日 :