ReSharper 2018.3ヘルプ

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

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

単体テストの実行とデバッグのさまざまな方法

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

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

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

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

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

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

    • テストの1つが失敗するまでセッション内で選択したテストを継続的に実行するには、ユニット・テストの実行 ThemedIcon RunTest Screen Gray ボタンのセレクタを展開して失敗するまでユニットテストを実行するを選択します。

ユニットテストセッションでテストが実行されると、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

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

特定のスタックトレースを後でインスペクションする場合は、Ctrl+Shift+Alt+E を押すか、ツールバーのスタックトレースを新しいウィンドウに表示する ThemedIcon StackTraceExplorerToolWindow Screen Gray をクリックして、スタックトレースエクスプローラーウィンドウの新しいタブにスタックトレースを開きます。

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

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

Unit test filters
デフォルトでは、すべての状態のテストが表示されますが、対応するアイコンをクリックすると、その状態でテストをフィルタできます。 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 など)を持つか、ReSharper設定で無視されるカテゴリに含まれています。

  • ThemedIcon StatusAborted Screen Gray - 単体テストは最後のテスト実行で中止されました。

  • ThemedIcon StatusInconclusive Screen Gray - 単体テストは開始されましたが、ReSharperはテストランナーの出力を読み取ることができませんでした。これはテストランナーでエラーが発生したことを示している可能性があります。

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

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

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

実行プロセスのカスタマイズ

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

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

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

必要に応じて、ツールバーのオプションセレクタを使用して、特定のユニットテストセッションのこれらの設定を変更することができます。

実行ログの学習

Unit Test Sessionsウィンドウには、ユニットテスト結果からテスト実行プロセスに関連する問題を分離できるテスト実行ログが含まれています。
あなたのテストの中には、テストランナーでエラーが発生している可能性がある「実行不可能」状態のものがある場合は、通常、実行ログをチェックする必要があります。

テストランナーまたはReSharperによってエラーが報告された場合は、ウィンドウのステータスバーの右側にエラーの数が表示されます。それ以外の場合はOKが表示されます。
実行ログを表示または非表示にするには、ログ ThemedIcon SessionLog Screen Gray ボタンをクリックします。

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

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

最終更新日: 2019年4月15日

関連ページ:

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

ユニットテストの支援は他のJetBrainsの.NET製品を拡張することができます:あなたがユニットテストをプロファイルできdotTraceとでユニットテストのコードカバレッジ分析dotCoverを。これらの製品はReSharperアルティメットにも含まれています。現在のドキュメントでのテストの発見...

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

ユニットテストの支援は他のJetBrainsの.NET製品を拡張することができます:あなたがユニットテストをプロファイルできdotTraceとでユニットテストのコードカバレッジ分析dotCoverを。これらの製品はReSharperアルティメットにも含まれています。ReSharperの単体テストラン...

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

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

スタックトレースエクスプローラーウィンドウ

スタックトレースエクスプローラーは、クリップボードからのスタックトレースを表示し、その中の線をクリック可能なリンクに変換し、関連するコードに直接ナビゲートできます。詳細はスタックトレースから例外への移動を参照してください。デフォルトでは、現在開いているソリューションのシンボルを含むスタックトレースを...

テストカテゴリの操作

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

dotCoverによるコードカバレッジの分析

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