dotCover 2019.3ヘルプ

入門

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

    dotCover: Unit test explorer

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

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

dotCover: Coverage Configuration dialog

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

dotCover controller dialog

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

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

Excluding nodes from dotCover coverage results

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

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

dotCover helps filtering coverage results

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

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