dotCover 2019.3ヘルプ

テストの実行と結果の分析

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

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

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

ユニットテストを実行、デバッグ、またはカバーするには、以下の方法があります。

  • 現在のドキュメントでテストを実行する方法の1つを使用します。

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

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

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

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

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

    • テストの1つが失敗するまでセッションで選択したテストを継続的に実行するには、ユニット・テストの実行 Run Unit Tests Ctrl+T R ボタンでセレクターを展開し、失敗するまでユニットテストを実行するを選択します。

ユニットテストセッションでテストが実行されると、Unit Test Sessionsウィンドウのツールバーのステータスバーに実行の進行状況が表示され、実行の停止 ThemedIcon StopTest Screen Gray ボタンがアクティブになります。このボタンをクリックすると、テストの実行またはカバレッジ分析を中止できます。複数のユニットテストセッションを同時に実行できます。ただし、テストをデバッグする場合、一度に実行できるテストセッションは1つだけです。

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

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

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

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

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

dotCover: Unit test sessions

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

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

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

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

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

ThemedIcon RunningTest Screen Gray

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

ThemedIcon TestPending Screen Gray

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

ThemedIcon StatusUnknown Screen Gray

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

ThemedIcon Success Screen Gray

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

ThemedIcon Error Screen Gray

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

ThemedIcon Ignore Screen Gray

ユニットテストは最後のテスト実行で無視されます
対応する属性(たとえば、NUnitテストの Ignore )を持っているか、dotCover設定で無視されるカテゴリに含まれています。

ThemedIcon StatusAborted Screen Gray

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

ThemedIcon StatusInconclusive Screen Gray

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

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

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

テストセッションツリー上の対応するアイコンは、各状態にあるテストの数を示します。 ThemedIcon UnitSession Screen Gray アイコンには、セッション中のテストの総数が表示されます。
これらのアイコンを使用すると、ツリーをフィルタリングして、対応するステータスのテストだけが表示されるようにすることができます。

ステータスアイコン

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

Test status on Visual Studio status bar

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

status icon ct passed

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

status icon ct failed

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

status icon dirty tests

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

status icon ct in progress

テストの実行中です。

「渡された」以外のステータスバーアイコンの場合、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 ボタンをクリックします。

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

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

最終更新日: 2020年2月6日

関連ページ:

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

現在のドキュメントのテストを理解する:dotCoverは、ユニットテストクラスとサポートされているすべてのフレームワークの単一ユニットテストをエディターで検出し、エディターの各アイテムの隣に対応するアクションインジケータを追加します。単体テストが複数の単体テストセッションに含まれている場合、その実行...

プロジェクトまたはソリューションでユニットテストを使用する

dotCoverの単体テストランナーでは、同じIDで複数のテストを実行することはできません。これは実際にはほとんど発生しませんが、同じIDのテストがある場合、それらはユニット・テストエクスプローラーおよびUnit Test Sessionsウィンドウに単一のノードとして表示され、それらのうち1つだけ...

ユニットテストセッションの使用

dotCoverの単体テストランナーでは、同じIDで複数のテストを実行することはできません。これは実際にはほとんど発生しませんが、同じIDのテストがある場合、それらはユニット・テストエクスプローラーおよびUnit Test Sessionsウィンドウに単一のノードとして表示され、それらのうち1つだけ...

Unit Test Sessionsウィンドウ

dotCoverの単体テストランナーでは、同じIDで複数のテストを実行することはできません。これは実際にはほとんど発生しませんが、同じIDのテストがある場合、それらはユニット・テストエクスプローラーおよびUnit Test Sessionsウィンドウに単一のノードとして表示され、それらのうち1つだけ...

テストカテゴリー

NUnit、MSTest、およびxUnitフレームワークでは、対応するシンボルの(NUnit)または(MSTest)属性を使用して、テストとテストクラスをスイートにグループ化できます。xUnitは属性に同様の機能を提供します。dotCoverはこれらの属性を認識しており、多くの関連機能を提供します。...

継続的なテスト

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