ReSharper 2024.3 ヘルプ

C++ のユニットテスト支援

ReSharper は、Visual Studio での次の単体テストフレームワークの単体テストの検出、実行、デバッグに役立ちます。

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

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

ReSharper はエディター内で単体テストを検出し、エディター内の各項目の横に対応するアクションインジケータを追加します。

ReSharper shows different indicators for unit tests in the editor

ThemedIcon.UnitTestingOptionsPage.Screen.(Gray).png

実行またはデバッグできる単体テスト

Passed

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

Failed

ユニットテストは最後の実行中に失敗しました。

現在のドキュメントでテストを実行またはデバッグする

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

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

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

    • 単一のテストを実行またはデバッグするには、エディター内のテスト名、またはその宣言内の任意の場所にキャレットを置きます。

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

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

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

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

ReSharper は、Visual Studio(ReSharper | ユニットテスト | ユニットテストまたは ReSharper | Windows | ユニットテスト、または Control+Alt+T)にユニットテストエクスプローラーウィンドウを追加します。このウィンドウを使用すると、ソリューション全体で単体テストを探索して実行またはデバッグできます。プロジェクトの単体テストは、プロジェクトの作成後にウィンドウに表示されることに注意してください。現在開いているファイルからのテストは自動的に更新され、開かれたファイルから新しいテストが作成されるとすぐにユニットテストエクスプローラーに表示されます。

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

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

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

  • 実行またはデバッグテストを選択しました。

  • 選択されたテストからの単体テストセッションを作成するおよび / または選択された項目を現在のテストセッションに追加します。

Unit Test Explorer displays test from the entire solution

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

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

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

    複数のテストを選択するには、グループ化ノードを選択するか、Ctrl キーを押しながら目的の項目をクリックします。あるいは、検索フィールドにクエリ文字列を入力して、実行前に一致しないテストをすべて除外します。この場合、残りの一致するテストのみが実行されます。

  • ソリューションエクスプローラーまたはクラスビューからテストを実行またはデバッグするには、テストを含む 1 つ以上の項目(ファイル、フォルダー、プロジェクト)を選択し、メインメニュー(ReSharper | ユニットテスト)でも使用できるユニットテストの実行 Run Unit Tests Control+T R/ ユニットテストのデバッグ Debug Unit Tests Control+T D コマンドを使用します。)およびコンテキストメニュー。

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

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

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

ユニットテストセッション

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

単体テストセッションの詳細については、「ユニットテストセッション」を参照してください。

実行プロセス

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

テストは単体テストセッションで実行されているため、実行の進行状況は単体テストセッションウィンドウのツールバーのステータスバーに表示され、進行状況アイコンが現在実行中のテストの横に表示されます。複数の単体テストセッションを同時に実行できます。ただし、テストをデバッグする場合、一度に実行できるテストセッションは 1 つだけです。

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

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

単体テストを実行またはデバッグする場合、ReSharper はプロジェクトのプロパティで指定されたコマンドおよび作業ディレクトリ構成パラメーターを使用します。これらのプロパティにアクセスするには、ソリューションエクスプローラーでプロジェクトを右クリックし、Properties | プロパティの構成 | デバッグを選択します。

コマンド引数プロパティ ( デバッグ | ローカル Windows デバッガー | コマンド引数 ) はデフォルトでは使用されません。テスト実行で使用するには、ReSharper オプション Alt+R, Oツール | ユニットテスト | テストフレームワーク | C++ テストページで対応するチェックボックスをオンにします。

実行設定がプロジェクトプロパティで指定されていない場合(たとえば、ライブラリプロジェクト、'フォルダーを開く' または CMake プロジェクト)、ReSharper オプションのツール | ユニットテスト | テストフレームワーク | C++ テストページで定義することができます。

ReSharper: Unit test sessions for C++ tests

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

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

出力ペイン(ツールバーの出力を表示する Show Output ボタンを使用して右側または下部に配置できます)には、選択したテストの出力が表示されます。

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

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

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

Unit test filters

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

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

ThemedIcon.RunningTest.Screen.(Gray).png

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

ThemedIcon.TestPending.Screen.(Gray).png

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

ThemedIcon.StatusUnknown.Screen.(Gray).png

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

ThemedIcon.Success.Screen.(Gray).png

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

ThemedIcon.Error.Screen.(Gray).png

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

ThemedIcon.Ignore.Screen.(Gray).png

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

ThemedIcon.StatusAborted.Screen.(Gray).png

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

ThemedIcon.StatusInconclusive.Screen.(Gray).png

単体テストが開始されましたが、ReSharper はテストランナーの出力を読み取ることができませんでした。これは通常、テストの実行を中止したときに発生しますが、テストランナーでエラーが発生した可能性もあります。

グループ化項目のステータスを表示するために同じアイコンが使用されます

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

テストセッションツリーの上にある対応するアイコンは、各状態にあるテストの数を示しています。ThemedIcon.UnitSession.Screen.(Gray).png アイコンは、セッション内のテストの総数を示します。

これらのアイコンを使用して、対応するステータスのテストのみが表示されるようにツリーをフィルタリングできます。

テストランナーの設定

コマンド、その引数、作業ディレクトリ、環境変数などの単体テスト実行変数は通常、プロジェクトプロパティ ( プロジェクトプロパティ | プロパティの構成 | デバッグ ) で指定され、ReSharper はそこから取得します。
ただし、これらのプロパティがそこに指定されていない場合 (たとえば、ライブラリプロジェクト、'フォルダーを開く'、CMake プロジェクト)、ReSharper オプション Alt+R, Oツール | ユニットテスト | テストフレームワーク | C++ テストページで実行設定を定義できます。

そのページでマージ環境フラグを使用することもできます。選択されている場合、ReSharper は、環境フィールドで指定された環境変数を Visual Studio からの環境変数に追加します。選択されていない場合、Visual Studio の環境変数のみが使用されます。

関連ページ:

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

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

C++ のコード生成

ReSharper は、定型コードを生成するさまざまな方法を提供します。例: 宣言されていないコードシンボルを使用し、これらのシンボルを用途に基づいて自動的に生成したり、型メンバーを生成したりすることができます。現在のタイプのメンバー生成オプションは、で使用できます。これらおよび他の多くのコード生成アクションは、を使用したコンテキストアクションとしても使用できます。使用箇所からコードを生成する:ReSharper では、宣言する前にコードシンボル(メソッド、変数、フィールドなど)を使用でき...

Unit Test Sessions ウィンドウ

ReSharper は、単体テストセッションウィンドウで単体テストを実行します。このウィンドウは、現在のドキュメントまたはプロジェクトまたはソリューションからテストを実行すると、自動的に表示されます。詳細については、「ユニットテストセッション」を参照してください。このウィンドウは、複数の単体テストセッションを同時に、独立して実行できるように設計されています。セッションは、任意の組み合わせのテストで構成できます。デバッグモードでは、一度に実行できるセッションは 1 つだけです。ユニットテストツリー...

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

このウィンドウを使用すると、ソリューション全体でサポートされているすべてのフレームワークの単体テストを調べて実行またはデバッグできます。プロジェクトの単体テストは、プロジェクトのビルド後にのみウィンドウに表示されることに注意してください。現在開いているファイルからのテストは自動的に更新され、開いているファイルからの新しいテストは、作成するとすぐに単体テストエクスプローラーに表示されます。詳細については、「プロジェクトまたはソリューションでの単体テストの操作」を参照してください。テストを検索するに...

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

ソリューションの単体テストを発見する:ReSharper は、ユニットテストエクスプローラーウィンドウを Visual Studio(または、または)に追加します。このウィンドウを使用して、ソリューション全体でサポートされているすべてのフレームワークの単体テストを調査、実行、デバッグできます。プロジェクトの単体テストは、プロジェクトがビルドされた後にのみウィンドウに表示されることに注意してください。現在開いているファイルのテストは自動的に更新され、開いているファイルの新しいテストは、作成する...

テストを実行する

ReSharper には、単体テストを実行する方法がいくつか用意されています。どちらの方法を選択しても、実行の進行状況、テスト結果、出力が単体テストセッションウィンドウに表示され、カバレッジ結果がユニットテストカバレッジウィンドウに表示されます。単体テストを実行またはデバッグするさまざまな方法:テストの実行を開始する現在のドキュメントでテストを実行するには、いずれかの方法を使用します。テストプロジェクト / ソリューションを実行する方法の 1 つを使用してください。既存の単体テストセッションが...