ReSharper 2019.2ヘルプ

JavaScriptによるユニットテストの支援

ReSharperは、Visual Studioでクニット(英語)およびJasmine(英語)フレームワークの単体テストを検出して実行できます。

ReSharperを使用すると、単体テスト、ファイル、プロジェクト、またはソリューションのすべてのテストを実行できます。また、テストセッションで任意の数のテストを組み合わせて実行することもできます。

JavaScriptユニットのテスト設定の構成

Jasmineフレームワークを使用する場合、ReSharperオプション(Alt+R,,O)のツール | ユニット・テスト | テスト・フレームワーク | JavaScriptテストページでフレームワークバージョンを選択してください。

デフォルトでは、テストが開始されると、ReSharperはデフォルトのWebブラウザを起動し、ユニットテストフレームワークからの出力を表示します。テストを実行し、情報をReSharperに報告します。必要に応じて、ReSharperオプションのツール | ユニット・テスト | テスト・フレームワーク | JavaScriptテストページでブラウザを変更することができます。ブラウザを起動せずにPhantomJSライブラリーでテストを実行することもできます。これを行うには、PhantomJSを選択し、PhantomJS実行ファイルへのパスを指定し、必要に応じてデフォルトのコマンドライン引数を変更します。

テスト用にカスタムHTMLハーネスを指定できます。ハーネスはChutzpahテストランナー(英語)と互換性があり、特別なChutzpahプレースホルダー(英語)を使用できます。

カスタムHTMLハーネスを使用するには

  1. ReSharperオプション(Alt+R,,O)のツール | ユニット・テスト | テスト・フレームワーク | JavaScriptテストページでカスタムHTMLハーネスを有効にするチェックボックスにチェックマークを付けます。

  2. ハーネスファイルがない場合は、空のHTMLファイルを作成し、デフォルト実装をクリップボードにコピーするをクリックしてデフォルトのハーネステンプレートをファイルに貼り付けることができます。

  3. ハーネスファイルのファイル名またはパスを入力します。

  4. テストハーネスの場所セレクタを使用して、ファイル名またはパスをテストランナーがどのように扱うべきかを指定します。

  5. 保存をクリックして変更を適用し、ReSharperに変更を保存する場所を選択させるか、次へ保存リストを使用して変更を特定の設定レイヤーに保存します。詳細については、「 resharper設定の管理と共有 」を参照してください。

現在のドキュメントでのテストの発見

ReSharperはサポートされているすべてのフレームワークのユニットテストスイートとシングルユニットテストをエディター内で発見し、エディター内の各項目の横に対応するアクションインジケータを追加します。

次の例は、Jasmineフレームワークを使用して作成された単体テスト・スイートを示しています。

ReSharper shows different indicators for unit tests in the editor
  • ThemedIcon UnitTestingOptionsPage Screen Gray —関数は実行可能な単体テストです

  • ThemedIcon UnitSession Screen Gray —関数は単体テストスイートであり、テストを含んで実行できます

  • ThemedIcon TestMethodSuccess Screen Gray - 最後の実行中に合格した単体テスト。

  • ThemedIcon TestFixtureSuccess Screen Gray - 最後の実行で合格した単体テストスイート内のテスト。

  • ThemedIcon TestMethodFail Screen Gray - 最後の実行中に単体テストが失敗しました。

  • ThemedIcon TestFixtureFail Screen Gray - 最後の実行中に、単体テストスイート内の少なくとも1つのテストが失敗しました。

現在のドキュメントでテストを実行する

現在のドキュメントで単体テストを実行する方法はいくつかあります: アクションインジケータ、メインメニュー、またはショートカットを使用することができます:

  • テストクラス内の単一のテストまたはすべてのテストを実行するには、その横にあるアクションインジケータをクリックするか、テスト/テストスイートにキャレットを設定して Alt+Enterを押します。アクションリストで、テストには実行を、テストスイートにはすべて実行を選択します。

  • または、メインメニュー(ReSharper | ユニット・テスト)、コンテキストメニュー、または対応する Ctrl+T,R ショートカットで使用可能なユニット・テストの実行コマンドを使用することもできます。これらのコマンドは、エディターでのキャレットの位置や選択に応じて動作が異なります。
    • テストスイートで単一のテストまたはすべてのテストを実行するには、テスト/テストスイート名またはその宣言内の任意の場所にあるキャレットをエディターで設定します。

    • 複数のテストを実行するには、エディターで目的のテストを選択します。

    • 現在のファイルですべてのテストを実行するには、テストスイートの外ですべてを選択するか、キャレットを設定します。

どのような方法でテストを実行しても、実行の進行状況、結果、および出力がUnit Test Sessionsウィンドウに表示されます。オープンユニットテストセッションがある場合、実行されたテストはこのセッションに追加されます。テストセッションがない場合、または既存のセッションがロックされている場合は、新しいテストセッションが作成されます。

必要に応じて、最後に実行したテストを Ctrl+T,T を押すか、メニューのReSharper | ユニット・テスト | 前回の実行を繰り返しを選択していつでも再実行することができます。

Running a Jasmine unit test suite from the editor

ソリューションの単体テストの発見

ReSharperはユニットテストエクスプローラーウィンドウをVisual Studioに追加します(ReSharper | ユニット・テスト | ユニット・テストReSharper | Windows | ユニット・テスト、または Ctrl+Alt+T )。このウィンドウを使用すると、ソリューション全体でサポートされているすべてのフレームワークの単体テストを探索して実行できます。プロジェクトの単体テストは、プロジェクトがビルドされた後にのみウィンドウに表示されます。現在開いているファイルからのテストは自動的に更新され、開いているファイルからの新しいテストは、作成すると同時に単体テストエクスプローラーに表示されます。

ユニットテストエクスプローラーを使用すると、次の操作を実行できます。

  • ソリューション内のテストを調べる:リストまたはツリービューですべての単体テストをブラウズする、テストを検索して部分文字列でフィルタリングする、プロジェクト単位でユニットテストを再グループ化する、名前空間など

  • ビュー内でダブルクリックして、テストまたはテストスイートのソースコードに移動します。

  • 選択したテストを実行します。

  • 選択したテストおよびテストスイートから単体テストセッションを作成するを選択したり、選択した項目を現在のテストセッションに追加したりできます。

  • すべてのテストをソリューションからテキスト、XML、またはHTMLファイルにエクスポートします。

Unit Test Explorer displays test from the entire solution

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

ユニットテストエクスプローラー、ソリューションエクスプローラー、またはクラスビューからテストを実行できます。単体テストエクスプローラーを使用すると、テストとテストスイートのみを表示し、必要な他のウィンドウ、プロジェクト、ファイル、クラスにはテストが含まれていることがあります。

  • ユニットテストエクスプローラーからテストを実行するには、目的のテストを選択し、ツールバーのユニット・テストの実行 ThemedIcon RunTest Screen Gray をクリックするか、対応するショートカット(Ctrl+T,R )を使用します。

  • ソリューションエクスプローラーまたはクラスビューからテストを実行するには、テストを含む1つまたは複数の項目(スイート、ファイル、フォルダー、プロジェクト)を選択し、コンテキストメニューのメインメニュー(ReSharper | ユニット・テスト)で使用可能なユニット・テストの実行コマンドを使用して、または対応する Ctrl+T,R ショートカットを使用します。

  • ソリューション内のすべてのテストを実行するには、メインメニューでReSharper | ユニット・テスト | ソリューションからすべてのテストを実行を選択するか、Ctrl+T,Lを押します。

どのような方法でテストを実行しても、実行の進行状況、結果、および出力がUnit Test Sessionsウィンドウに表示されます。オープンユニットテストセッションがある場合、実行されたテストはこのセッションに追加されます。テストセッションがない場合、または既存のセッションがロックされている場合は、新しいテストセッションが作成されます。

必要に応じて、最後に実行したテストを Ctrl+T,T を押すか、メニューのReSharper | ユニット・テスト | 前回の実行を繰り返しを選択していつでも再実行することができます。

単体テストセッションの使用

ReSharperでは、アプリケーションの特定の部分を対象とする単体テストを単体テストセッションにグループ化できます。単体テストセッションには、異なるプロジェクトのテストを含めることができます。複数のテストセッションを持ち、必要に応じて個別に実行することができます。単一のテスト/テストスイートを複数の異なるテストセッションに含めることができます。

単体テストセッションに関する詳細な手順については、ユニットテストセッションの使用を参照してください。

実行プロセス

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

ユニットテストセッションでテストが実行されると、Unit Test Sessionsウィンドウのツールバーのステータスバーに実行の進行状況が表示され、実行の停止 ThemedIcon StopTest Screen Gray ボタンがアクティブになります。このボタンをクリックすると、テストの実行を中止できます。複数のユニットテストセッションを同時に実行できます。

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

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

ReSharper: Unit test sessions in JavaScript

実行結果と出力の分析

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

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

デフォルトでは、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 StatusAborted Screen Gray - 単体テストは最後のテスト実行で中止されました。

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

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

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

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

最終更新日: 2019年10月18日

関連ページ:

ReSharper設定の管理と共有

ReSharperは、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例:記号のアイ...

アクションインジケータとアクションリスト

ReSharperがVisual Studioテキストエディターに追加する最も注目すべきものには、アクションインジケータとアクションリストがあります。これらは、ReSharperでサポートされるすべてのファイル(C#、VB.NET、XML、CSS、JavaScript、ASP.NETなど)に表示され...

Unit Test Sessionsウィンドウ

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

ユニットテストエクスプローラーウィンドウ

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

ユニットテスト支援

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