ReSharper 2024.1 ヘルプ

ユニットテストを作成する

ReSharper は、選択したクラスの単体テストを作成する簡単かつ効果的な方法を提供します。テストクラス、テストメソッド、さらには必要に応じて新しいテストプロジェクトも作成されます。

AI Assistant がアクティブ化されている場合は、作成されたテストに対して実際のテストロジックを生成することを選択できます。

クラスの単体テストを作成する

  1. エディターで、単体テストを作成するクラスにキャレットを置きます。

  2. Control+T C を押すか、コードの生成 Alt+Insert メニューを開いてユニットテストを選択します。

  3. ソリューションに、クラス名と一致するテストクラスを持つテストプロジェクトが含まれている場合、ReSharper は、対応するライブテンプレートを使用して、そのクラスに新しいテストメソッドを追加します。バージョン 2023.3 では、この場合、AI を使用したテストロジックの生成はサポートされていないことに注意してください。これは次のバージョンで修正される予定です。回避策として、既存のテストクラスの名前を変更します。

    それ以外の場合は、単体テストの作成ダイアログが開きます。

    ReSharper: Create Unit Test dialog
  4. ダイアログで、テストを作成する場所と方法を指定します。

    • テストプロジェクト : 新しいプロジェクトの名前を入力するか、ドロップダウンセレクターから既存のテストプロジェクトを選択します。

    • テストフレームワーク : サポートされている単体テストフレームワーク (NUnit、xUnit、MSTest) のいずれかを選択します。セレクターでは、ターゲットプロジェクトまたはソリューションでどのフレームワークバージョンがすでに使用されているかが表示されます。一貫性を保つために、これらのバージョンを選択することをお勧めします。ただし、必要なフレームワークの最新バージョンを選択することもでき、NuGet からインストールされます。ターゲットプロジェクト内でフレームワークが参照され、そのフレームワークに対応するファイルテンプレートからテストクラスが作成されます。

    • テストクラス名 : テストクラスの名前は、ReSharper オプションのツール | ユニットテスト | テストリンカーページのテストクラスの命名規則で構成できるパターンに従って自動的に提案されます。ReSharper は、テストに出入りするときにクラスとそのテストをリンクするためにその名前を使用するため、提案された名前を使用することをお勧めします。

    • AI でテストコンテンツを生成 : AI Assistant がアクティブ化されている場合は、作成されたテストに対して実際のテストロジックを生成することを選択できます。

    • 宛先 (拡張) : このフィールドを使用して、テストクラスが作成されるファイルへのカスタム相対パスを指定します。

    • 名前空間 (拡張) : このフィールドを使用して、作成されたテストクラスのカスタム名前空間を指定します。

    • テンプレート (拡張) : このフィールドを使用して、作成されたテストクラスに使用されるファイルテンプレートを選択します。

  5. OK」をクリックしてテストを作成します。必要に応じて、ReSharper は新しいテストプロジェクトとテストクラスを作成し、次のいずれかを実行します。

    • AI でテストコンテンツを生成が選択された場合、ReSharper は、最初に選択されたクラスのロジックをチェックする 1 つ以上のテストメソッドをテストクラスに設定します。

      プロジェクト参照が欠落しているか、ディレクティブが使用されているために、生成されたコード内に未解決のシンボル参照が存在する可能性があることに注意してください。ほとんどの場合、これらは簡単に修正できます。ハイライトされた参照で Alt+Enter を押し、ファイル内の欠落している参照をインポートするを選択します。

    • それ以外の場合、ReSharper はテストメソッドに指定されたライブテンプレートをデプロイします。メソッド名を入力してテンプレートセッションを終了し、テストロジックを指定します。

新しいテストクラスのファイルテンプレート

新しいテストクラスを作成するとき、ReSharper はターゲットテストフレームワークに固有のファイルテンプレートを使用します。デフォルトでは、ReSharper はサポートされているフレームワークごとに 1 つのテンプレートを提供します。

必要に応じて、これらのテンプレートを変更したり、テストクラス用にさらにテンプレートを作成したりできます。カスタムファイルテンプレートが単体テストクラスの作成に適していることを確認するには、テンプレートの使用可能が目的のフレームワークを備えたテストプロジェクトをカバーする必要があります。

ReSharper: File template for test classes

新しいテストメソッド用のライブテンプレート

テストメソッドを生成するとき、ReSharper はターゲットフレームワークに固有のライブテンプレートをデプロイします。必要に応じて、ニーズに合わせて各テンプレートをカスタマイズできます。これを行うには、メニューから ReSharper | ツール | テンプレートエクスプローラー ... を選択し、ライブテンプレートタブに切り替え、スコープC# または VB.NET を選択し、目的のテストフレームワークのテストテンプレートをダブルクリックします。

ReSharper: Live tempaltes for unit test methods

テスト対象者へのメンションによるテストのアノテーション付け

テストクラスを作成するときに、ReSharper は、テストとそのサブジェクトをリンクし、それらの間のナビゲーションを可能にする特別な属性でアノテーションを付けることができます。デフォルトでは、ReSharper は JetBrains.Annotations[TestSubject] 属性を使用しますが、この目的で別の属性を使用する場合は、テストクラステンプレートを適切に構成してから、ReSharper オプション Alt+R, Oツール | ユニットテスト | テストリンカーページでこの属性を指定します。

また、そのオプションページでは、テスト対象者についてのアノテーションを付けるセレクターを使用して、アノテーションをいつ追加するかを選択できます。

この機能は、次の言語とテクノロジーでサポートされています。

ここで説明する手順と例では、C# の機能の使用について説明します。他の言語の詳細については、言語別 ReSharper セクションの対応するトピックを参照してください。

関連ページ:

AI Assistant

AI Assistant は、コードを説明したり、コードの問題を見つけたり、プログラミング関連の質問に答えたりすることができます。インストール:AI Assistant は、dotUltimate インストーラーとともに別個の製品としてインストールされます。これを使用する場合は、インストール中にその隣にあるインストールを選択します。AI Assistant は独立した製品として使用できないことに注意してください。AI Assistant を使用するには、ReSharper、ReSharper...

型メンバーを生成する

ReSharper を使用すると、異なるタイプのメンバーをすばやく生成できます。現在のタイプの使用可能なコード生成オプションのリストを表示するには、を押すか、メインメニューのを選択します。ReSharper のメンバー生成機能のほとんどは、C# と Visual Basic で使用できます。一部は複数の言語で使用でき、その他は言語固有です。以下の表は、すべてのメンバー生成機能と、それらがサポートされている言語 / テクノロジを示しています。このセクション内のトピックに示されている手順と例では、...

テンプレートからファイルを作成する

ReSharper を使用すると、ファイルテンプレートに基づいてクラス、インターフェース、構造体、その他のファイルを作成できます。作成されると、新しいファイルがプロジェクトに追加され、エディターで開きます。このファイルには、テンプレートで指定されたソースコードが含まれています。テンプレートから新しいファイルを作成する以下のいずれか 1 つを実行します: ソリューションエクスプローラーでは、テンプレートから新しいファイルを作成するノードを選択します。エディターで開いているコードファイルにキャレットを...

ファイルテンプレートを作成する

ファイルテンプレートは、型宣言、単体テストなどの事前定義されたコードを含む 1 つ以上の新しいファイルを作成するために使用されます。ファイルテンプレートにはショートカットはなく、説明によって識別されます。詳細については、「テンプレートからファイルを作成するおよびマルチファイルテンプレートを作成する」を参照してください。ファイルテンプレートの本文は、そのまま表示されるプレーンテキストとパラメーターで構成されます。アイデアは、これらを組み合わせてテンプレートを呼び出すときの効率を最大化することです。...

テストリンカー

ナビゲーション:このカテゴリでは、テストとテストされたコードの間を移動するときに、テストとテストされたコードをリンクするためのオプションを指定できます。接辞検索を使用する ReSharper は、名前が指定された接辞で始まるか終わるテストクラスを、テストされるコード内の対応するクラスにリンクします。テストクラス名を無視し、ナビゲーションに他のヒューリスティックを使用するには、このチェックボックスをオフにします。属性ベースの検索を使用する ReSharper は、特定の属性でアノテーションが付けられ...

ASP.NET MVC 特有の機能

ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト:ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する: 最終...