dotCover 2018.3ヘルプ

開始する

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

dotCoverは、Visual Studio 2010、2012、2013、2015、および2017に統合されます。他の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年1月17日

関連事項

プロシージャー: