ReSharper 2020.3 ヘルプ

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

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

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

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

If you use Jasmine framework, make sure to select the framework version on the ツール | ユニットテスト | テストフレームワーク | JavaScript テスト page of ReSharper options( Alt+R, O ).

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

You can specify a custom HTML harness for your tests. The harness is compatible with the Chutzpah テストランナー (英語) and can use the special Chutzpah placeholders (英語)

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

  1. Tick the カスタム HTML ハーネスを有効にする checkbox on the ツール | ユニットテスト | テストフレームワーク | JavaScript テスト page of ReSharper options( Alt+R, O ).

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

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

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

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

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

ReSharper discoversunit test suites and single unit testsof all supported frameworks right in the editor and adds the corresponding action indicators next to each item in the editor:

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

ReSharper shows different indicators for unit tests in the editor
  • Themed icon unit testing options page screen gray — この関数は、実行できる単体テストです。

  • Themed icon unit session screen gray — 関数は単体テストスイートであり、テストを含めて実行できます

  • Passed — 最後の実行中に合格した単体テスト。

  • Passed — ユニットテストスイートのテストは、最後の実行中に合格しました。

  • Failed — 最後の実行中に単体テストが失敗しました。

  • Failed — ユニットテストスイートの少なくとも 1 つのテストが、最後の実行中に失敗しました。

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

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

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

  • または、ユニットテストの実行 Run Unit Tests Control+T R コマンドを使用することもできます。このコマンドは、メインメニュー(ReSharper | ユニットテスト)およびコンテキストメニューでも使用できます。これらのコマンドは、キャレットの位置またはエディターでの選択に応じて動作が異なります。

    • To run a single testor all tests in a test suite, set the caret at the test/test suite name, or anywhere inside its declaration in the editor.

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

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

テストの実行をどのように選択しても、Unit Test Sessions ウィンドウに実行の進行状況、結果、出力が表示されます。開いている単体テストセッションがある場合、実行されたテストはそのセッションに追加されます。テストセッションがないか、既存のセッションがロックされている場合、新しいテストセッションが作成されます。

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

Running a Jasmine unit test suite from the editor

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

ReSharper adds the ユニットテストエクスプローラーウィンドウ to Visual Studio ( ReSharper | ユニットテスト | ユニットテスト or ReSharper | Windows | ユニットテスト , or Control+Alt+T ). Using this window, you can explore and run unit testsof all supported frameworks in the entire solution. Note that unit tests from a project only appear in the window after the project is built. Tests from currently opened files are updated automatically, new tests from the opened files appear in the unit test explorer as soon as you create them.

テストフレームワークごとに、ReSharper オプションのツール | ユニットテスト | テストフレームワーク | <フレームワーク %gt; ページで次のオプションのいずれかを選択することにより、ビルド後に単体テストを検出するための速度または精度のいずれかを選択できます。

  • メタデータ (デフォルト)

    このモードでは、ReSharper はテストランナーを起動せずにビルドアーティファクトを分析します。

    テストは属性を使用して定義されるため、ReSharper は管理対象アーティファクトのメタデータをすばやくスキャンして、プロジェクト内のほとんどのテストを見つけることができます。ただし、パラメーターを定義するためにフレームワークのいくつかの特別なフックを実行する必要があるテストを見つけることができない場合があります。

    これは、テストを発見するための最速の方法です。

  • テストランナー

    このモードでは、ReSharper はビルドアーティファクトの検出モードでフレームワークランナーを起動し、ランナーからの結果を使用します。

    フレームワークランナーを使用すると、プロジェクトの分析にかなり時間がかかる場合がありますが、ほとんどの場合、検出されたテストのリストは完全です。

単体テストエクスプローラーでは、次のことができます。

  • ソリューション内のテストを探索します。すべての単体テストをツリービューで参照し、テストを検索して部分文字列でフィルタリングし、単体テストをプロジェクト、名前空間などで再グループ化します。

  • Navigate to source code of any testor test suite by double-clicking it in the view.

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

  • 単体テストセッションを作成する from selected testsand test suites and/or add selected items to the current test session.

Unit Test Explorer displays test from the entire solution

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

You can run tests from the Unit Test Explorer, Solution Explorer, or Class View. Unit Test Explorer gives you the advantage to see only testsand test suites, while using other windows you need to know, which projects, files, and classes contain tests.

  • 単体テストエクスプローラーからテストを実行するには、目的のテストを選択し、ツールバーのユニットテストの実行 Run Unit Tests Control+T R をクリックします。

  • To run tests from Solution Explorer or Class View, select one or more items (suites, files, folders, projects) that contain tests, and use the ユニットテストの実行 Run Unit Tests Control+T R commands, which are also available in the main menu ( ReSharper | ユニットテスト ) and in the context menu.

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

テストの実行をどのように選択しても、Unit Test Sessions ウィンドウに実行の進行状況、結果、出力が表示されます。開いている単体テストセッションがある場合、実行されたテストはそのセッションに追加されます。テストセッションがないか、既存のセッションがロックされている場合、新しいテストセッションが作成されます。

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

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

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

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

実行プロセス

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

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

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

テスト実行時の自動スクロール出力 Themed icon scroll to bottom screen gray オプションを有効にして、実行中のテストの出力に従うこともできます。

ReSharper: Unit test sessions in JavaScript

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

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

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

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

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

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

Unit test filters

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

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

Themed icon running test screen gray 単体テストは現在実行中です
Themed icon test pending screen gray 単体テストは現在の実行で実行されるようにスケジュールされています
Themed icon status unknown screen gray 単体テストは実行されませんでした
Themed icon success screen gray lats テストの実行でユニットテストに合格しました
Themed icon error screen gray lats テストの実行でユニットテストが失敗しました
Themed icon status aborted screen gray ユニットテストは最後のテスト実行で中止されました
Themed icon status inconclusive screen gray 単体テストが開始されましたが、ReSharper はテストランナーの出力を読み取ることができませんでした。これは通常、テストの実行を中止したときに発生しますが、テストランナーでエラーが発生した可能性もあります。

The same icons are used to display status of grouping items(suites, projects, and so on)

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

テストセッションツリーの上の対応するアイコンは、各状態にあるテストの数を示します。Themed icon unit session screen gray アイコンは、セッション内のテストの総数を示します。
これらのアイコンを使用して、対応するステータスのテストのみが表示されるようにツリーをフィルタリングできます。

関連ページ:

ReSharper 設定の管理と共有

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

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

ReSharper が Visual Studio テキストエディターに追加する最も注目すべきものの中には、アクションインジケータとアクションリストがあります。これらは、ReSharper でサポートされているすべてのファイル(C#、VB.NET、XML、CSS、JavaScript、ASP.NET など)に表示され、使用可能なアクションについて通知し、適用できます。アクションインジケータ:アクションインジケータは、設定に応じて、アクションバーの左マージンやテキストエディターの本文に表示される...

Unit Test Sessions ウィンドウ

ReSharper の単体テストランナーでは、同じ ID で 2 つ以上のテストを実行できません。これが実際に発生することはほとんどありませんが、同じ ID のテストがある場合、それらは単体テストエクスプローラーと単体テストセッションウィンドウに単一のノードとして表示され、そのうちの 1 つだけが実行されます。テストフレームワークはさまざまな方法でテストを識別します。例: MSTest はテスト方法の FQN を使用しますが、NUnit はテスト ID としてテスト属性のプロパティを使用します。...

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

ReSharper の単体テストランナーでは、同じ ID で 2 つ以上のテストを実行できません。これが実際に発生することはほとんどありませんが、同じ ID のテストがある場合、それらは単体テストエクスプローラーと単体テストセッションウィンドウに単一のノードとして表示され、そのうちの 1 つだけが実行されます。テストフレームワークはさまざまな方法でテストを識別します。例: MSTest はテスト方法の FQN を使用しますが、NUnit はテスト ID としてテスト属性のプロパティを使用します。...

ユニットテスト支援

ReSharper の単体テストランナーでは、同じ ID で 2 つ以上のテストを実行できません。これが実際に発生することはほとんどありませんが、同じ ID のテストがある場合、それらは単体テストエクスプローラーと単体テストセッションウィンドウに単一のノードとして表示され、そのうちの 1 つだけが実行されます。テストフレームワークはさまざまな方法でテストを識別します。例: MSTest はテスト方法の FQN を使用しますが、NUnit はテスト ID としてテスト属性のプロパティを使用します。...

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

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