dotCover 2024.2 ヘルプ

テストを実行し、結果を分析する

dotCover には、単体テストを実行する方法がいくつか用意されています。どちらの方法を選択しても、実行の進行状況、テスト結果、出力が単体テストセッションウィンドウに表示され、カバレッジ結果がユニットテストカバレッジウィンドウに表示されます。

カバレッジ分析を実行する前に、すべてのターゲットアセンブリの PDB 情報が存在することを確認してください。最も安全な選択は、デバッグビルド構成を使用してコードをビルドすることです。

単体テストを実行、デバッグ、カバーするさまざまな方法

テストの実行を開始する

  • 現在のドキュメントでテストを実行するには、いずれかの方法を使用します。

  • テストプロジェクト / ソリューションを実行する方法の 1 つを使用してください。

  • 既存の単体テストセッションがある場合は、セッションの一部またはすべてのテストを実行、デバッグ、カバーできます。

    • Unit Test Sessions ウィンドウで実行するテストを選択し、ツールバーのユニットテストの実行 Run Unit Tests Control+T R/ ユニットテストのデバッグ Debug Unit Tests Control+T D をクリックします。

    • セッション内のすべてのテストを実行するには、ツールバーの現在のセッションを実行 Run Current Session Control+T Y をクリックするか、メインメニューから ReSharper | ユニットテスト | 現在のセッションを実行を選択します。

    • セッションの選択したノードでのテストをカバーするには、このノードを右クリックして、ユニットテストのカバー Cover Unit Tests Control+T H を選択します。

    • いずれかのテストが失敗するまで、選択したテストを自動的に開始および実行し続けるには、ユニットテストの実行 Run Unit Tests Control+T R ボタンのセレクターを展開し、失敗するまでユニットテストを実行するを選択します。

テストは単体テストセッションで実行されているため、実行の進行状況は単体テストセッションウィンドウのツールバーのステータスバーに表示され、進行状況アイコンが現在実行中のテストの横に表示されます。複数の単体テストセッションを同時に実行できます。ただし、テストをデバッグする場合、一度に実行できるテストセッションは 1 つだけです。

必要に応じて、ツールバーの実行中のテストを追跡 ThemedIcon.TrackRun.Screen.(Gray).png オプションを有効にすることができます。オンの場合、テストツリー内の選択は、現在実行中のテストに自動的に切り替えられ、出力パネルは実行中に現在のテストの出力を常に表示します。

テスト実行時の自動スクロール出力 ThemedIcon.ScrollToBottom.Screen.(Gray).png オプションを有効にして、実行中のテストの出力に従うこともできます。

テストの実行を停止する

  1. ツールバーの実行の停止 ThemedIcon.StopTest.Screen.(Gray).png をクリックして、テストの実行またはカバレッジ分析を中止します。

  2. dotCover はテストランナーに実行を停止するシグナルを送信します。テストフレームワークによっては、実行がすぐに中止される場合もあれば、ランナーが現在のテストを終了しようとしてその後停止する場合もあります。

  3. テストランナーが現在のテストを実行し続けると、実行の停止アイコンが ThemedIcon.Abort.Screen.(Gray).png に変わります。もう一度クリックすると、テストランナープロセスを強制終了できます。

必要に応じて、ツールバーの前回の実行を繰り返し ThemedIcon.Rerun.Screen.(Gray).png をクリックするか、Control+T T を押すか、メニューから ReSharper | ユニットテスト | 前回の実行を繰り返しを選択することで、最後に実行したテストの実行またはカバレッジ分析をいつでも繰り返すことができます。

カバレッジフィルターを適用する

dotCover は、カバレッジ分析からコードを除外できる 2 種類のカバレッジフィルターをサポートしています。ランタイムフィルター(カバレッジセッション中に適用される)とカバレッジ結果のフィルターです。詳細

実行結果と出力を分析する

実行が終了すると、ユニットテストセッションウィンドウに結果が表示されます。

dotCover: Unit test sessions

出力ペイン(ツールバーの出力を表示する Show Output ボタンを使用して右側または下部に配置できます)には、選択したテストの出力が表示されます。テストが失敗した場合、dotCover は失敗に関する短い情報を追加したり、例外のスタックトレースを表示したりします。出力ペインのクリック可能なリンクを使用して、障害に関連するタイプとメソッドに直接移動できます。ソリューションに属していないファイルへのリンクが出力に表示される場合は、このリンクをクリックして、対応するファイルタイプに関連付けられた外部アプリケーションでファイルを開くか、Ctrl -click でファイルを Visual Studio で開くことができます。

デフォルトでは、dotCover は、出力領域の現在の幅に従って、長い行を出力に折り返します。必要に応じて、dotCover オプションのツール | ユニットテストページのユニットテストセッションの出力で長い行を折り返すチェックボックスをオフにして、長い行を折り返さないように選択します。

ツールバーのグループ化セレクターを使用して、テストのグループ化を変更します。セレクターの上部にある定義済みのグループ化モードの 1 つ(テスト階層、プロジェクト構造など)を選択するか、下部を使用できます。グループ化プロパティのカスタムセットを選択するためのセレクター。

ステータスバーには、セッション内のテストの合計数と、さまざまな状態のテスト数が表示されます。

Unit test filters

デフォルトでは、すべての状態のテストが表示されますが、対応するアイコンをクリックすると、その状態でテストをフィルターできます。Ctrl - 複数のアイコンをクリックして、いくつかの異なる状態でテストを表示することもできます。

Unit Test Sessions ウィンドウの各テストのステータスは、次のアイコンのいずれかで表示されます。

ThemedIcon.RunningTest.Screen.(Gray).png

単体テストは現在実行中です

ThemedIcon.TestPending.Screen.(Gray).png

単体テストは現在の実行で実行されるようにスケジュールされています

ThemedIcon.StatusUnknown.Screen.(Gray).png

単体テストは実行されませんでした

ThemedIcon.Success.Screen.(Gray).png

lats テストの実行でユニットテストに合格しました

ThemedIcon.Error.Screen.(Gray).png

lats テストの実行でユニットテストが失敗しました

ThemedIcon.Ignore.Screen.(Gray).png

ユニットテストは最後のテスト実行で無視されました

対応する属性(たとえば、NUnit テストの Ignore)があるか、dotCover 設定で無視されるカテゴリに含まれています。

ThemedIcon.StatusAborted.Screen.(Gray).png

ユニットテストは最後のテスト実行で中止されました

ThemedIcon.StatusInconclusive.Screen.(Gray).png

単体テストが開始されましたが、dotCover はテストランナーの出力を読み取ることができませんでした。これは通常、テストの実行を中止したときに発生しますが、テストランナーでエラーが発生した可能性もあります。

グループ化項目のステータスを表示するために同じアイコンが使用されます (クラス、プロジェクトなど)

アイコンは各セッションのタブでも使用され、セッションの全体的な実行結果を表示します。

テストセッションツリーの上にある対応するアイコンは、各状態にあるテストの数を示しています。ThemedIcon.UnitSession.Screen.(Gray).png アイコンは、セッション内のテストの総数を示します。

これらのアイコンを使用して、対応するステータスのテストのみが表示されるようにツリーをフィルタリングできます。

ステータスアイコン

単体テスト結果を制御できるもう 1 つの方法があります。

Test status on Visual Studio status bar

失敗したテストや変更されたテストがあるかどうかは、Visual Studio メインウィンドウのステータスバー上のアイコンで通知されます。アイコンはすべてのセッションからすべてのテストの結果について通知することに注意してください。セッションで連続テストモードが有効になっている場合、アイコンはこのセッションの期限切れテストについても通知します。

status_icon_ct_passed.png

すべてのテストに合格しました。変更されたテストや古いテストはありません。

status_icon_ct_failed.png

前回のテスト実行で失敗したテストもあり、変更されたテストや古いテストはありませんでした。

status_icon_dirty_tests.png

一部のテストは、最後のテスト実行後に変更または古くなったものです。前回の実行でテストに失敗した場合、このステータスアイコンは「失敗」アイコンとともに表示される場合があります。

status_icon_ct_in_progress.png

テストの実行中です。

「渡された」以外のステータスバーアイコンの場合、dotCover はこのステータスのテスト数を表示します。この番号をクリックすると、エディターでこれらのテストに移動できます。

ステータスアイコンをダブルクリックして詳細を表示することもできます。dotCover は単体テストセッションウィンドウを開きます。テストが変更または失敗した場合、dotCover は関連するテストに自動的に移動します。

カバレッジ結果を分析する

単体テストのカバレッジ分析を実行した後、開いたユニットテストカバレッジウィンドウでカバレッジ結果を調べることができます。ウィンドウには、ソリューション全体のコードカバレッジツリーが表示されます。ツールバーのホットスポットをクリックして、ホットスポットビューに切り替えることもできます。

dotCover: Unit test coverage

カバレッジ結果を調べるさまざまな方法については、カバレッジ結果の操作のセクションで説明します。

実行プロセスをカスタマイズする

デフォルトでは、dotCover は単体テストプロジェクト設定を使用して、テストの実行時に使用する .NET フレームワークバージョンとプロセッサーアーキテクチャを定義します。

プロジェクト内のテストが CLR2 に基づくアセンブリを (場合によっては間接的または暗黙的に) 使用し、プロジェクトがすでに CLR4 をターゲットにしている場合、テスト実行中にエラーが発生する可能性があります。使用する CLR (.NET フレームワーク) を明示的に指定することで、このような状況を回避できます。これを行うには、dotCover オプション Alt+R, Oツール | ユニットテストページでデフォルトの .NET フレームワークバージョンセレクターを使用します。この設定は、NUnit、XUnit、MSpec テストフレームワークで実行されるテストに影響します。MSTest で実行されるテストにはまだ影響がありません。

オプションページのデフォルトのプラットフォームアーキテクチャセレクタを使用して、プラットフォームアーキテクチャ(32 ビットまたは 64 ビット)を変更することもできます。

必要に応じて、ツールバーのオプションセレクターを使用して、特定の単体テストセッションのこれらの設定を上書きできます。

スタディ実行ログ

Unit Test Sessions ウィンドウには、テスト実行プロセスに関連する問題を単体テストの結果から分離できるテスト実行ログが含まれています。

通常、一部のテストの実行後に「不確定」状態になっている場合は、実行ログを確認する必要があります。これは、テストランナーでエラーが発生していることを示している可能性があります。

テストランナーまたは dotCover のいずれかによってエラーが報告された場合、エラーの数がウィンドウのステータスバーの右側に表示されます。それ以外の場合は、OK が表示されます。

実行ログを表示または非表示にするには、ログ ThemedIcon.SessionLog.Screen.(Gray).png ボタンをクリックします。

デフォルトでは、重大度レベルが「エラー」のイベントのみがログに記録されます。必要に応じて、最小重大度レベルを変更できます。これを行うには、ログ領域を右クリックして目的の重大度レベルを選択するか、dotCover オプション Alt+R, Oツール | ユニットテスト | 一般ページでログエントリの最大重大度セレクタを使用します。

コンテキストメニューで対応するコマンドを選択して、ログ全体をクリップボードにコピーすることもできます。

関連ページ:

現在のドキュメントで単体テストを操作する

現在のドキュメントでテストを見つける:dotCover は、サポートされているすべてのフレームワークの単体テストクラスと単一単体テストをエディター内で検出し、エディター内の各項目の横に対応するアクションインジケーターを追加します。このメソッドは単体テストであり、実行およびデバッグできます。このクラスは単体テストクラスであり、テストを含むテストを実行およびデバッグできます。ユニットテストは、最後の実行中に合格しました。単体テストクラスのテストは、最後の実行中に合格しました。ユニットテストは最後の...

プロジェクトまたはソリューションで単体テストを操作する

ソリューションの単体テストを発見する:dotCover は、ユニットテストエクスプローラーウィンドウを Visual Studio(または、または)に追加します。このウィンドウを使用すると、ソリューション全体でサポートされているすべてのフレームワークの単体テストを調査、実行、デバッグ、カバーできます。プロジェクトの単体テストは、プロジェクトがビルドされた後にのみウィンドウに表示されることに注意してください。現在開いているファイルのテストは自動的に更新され、開いているファイルの新しいテストは、...

ユニットテストセッション

アプリケーションの特定の部分を対象とする単体テストを複数の単体テストセッションにグループ化できます。単体テストセッションには、さまざまなプロジェクトからのさまざまなサポートされているフレームワークのテストを含めることができます。複数のテストセッションを用意し、必要に応じて個別に実行できます。単一のテスト / テストクラスを複数の異なるテストセッションに含めることができます。ユニットテストセッションにアクセスする:ユニットテストセッションの管理は Unit Test Sessions ウィンドウで...

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

場合によっては、カバレッジ分析の範囲を制限する必要があります。例: 複数のプロジェクトと何千ものテストを含む大スコープなアプリケーションの開発に参加する場合、これは理にかなっています。この場合、ソリューション内のすべてのプロジェクト (型、型メンバー) のカバレッジを分析する必要はなく、作業中のコードに関連するものだけを分析する必要があります。もう 1 つの例は、現在関心のないノード (名前空間、クラス、メソッド) を除外して、カバレッジツリーの「ノイズを減らす」ことです。このような場合は常に、...

テストカテゴリ

NUnit、MSTest、xUnit フレームワークでは、対応するシンボルの (NUnit) または (MSTest) 属性を使用して、テストとテストクラスをスイートにグループ化できます。xUnit は属性に同様の機能を提供します。dotCover はこれらの属性を認識しており、多くの関連機能を提供します。テストカテゴリを参照する:ユニットテストエクスプローラーウィンドウでは、現在のソリューションの既存のカテゴリをすべて調べることができます。これを行うには、グループ化セレクタでカテゴリまたはプロジ...

継続的なテスト

継続的なテストは、さまざまな方法でテスト駆動開発のプラクティスを合理化します。ユニットテストに影響を与える変更を検出し、影響を受けたすべてのプロジェクトを再構築し、新しいテストと古いテストをすべて再実行します。すべてがバックグラウンドで自動的に行われます。影響を受けるプロジェクトのみが再構築されます。新しいテストと旧式のテストのみが再実行されます。ユニットテストセッションは、ユニットテストセッションウィンドウで連続テストモードのいずれかに切り替えることができます。連続テストを無効にするには、モー...