ReSharper 2026.1 Help

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

ReSharper は、Visual Studio 内で下記のユニットテストフレームワークのユニットテストの検出、実行、デバッグを支援します:

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

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

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

ReSharper は単体テストのさまざまな指標をエディターに表示する

ThemedIcon.UnitTestingOptionsPage.Screen.(グレー).png

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

合格

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

失敗

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

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

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

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

  • また、 ユニットテストの実行 ユニットテストの実行 Control+T R/ユニットテストのデバッグ ユニットテストのデバッグ Control+T D コマンドも利用でき、これらはメインメニュー(ReSharper | ユニットテスト )やコンテキストメニューからも利用できます。 これらのコマンドは、エディター内のキャレット位置や選択範囲によって動作が異なります:

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

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

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

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

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

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

ユニットテストエクスプローラー では、次のことができます:

  • ソリューション内のテストを探索:ユニットテストをツリービューで閲覧し、テストを検索・部分文字列でフィルター、プロジェクトや名前空間などによってユニットテストを再グループ化できます。

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

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

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

ユニットテストエクスプローラーはソリューション全体からのテストを表示する

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

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

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

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

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

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

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

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

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

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

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

実行プロセス

ReSharper には、ユニットテストを実行するための複数の方法があります。 どの方法を選択しても、実行の進捗、テスト結果、出力が Unit Test Sessions ウィンドウ に表示されます。

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

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

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

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

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

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

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

テスト実行が終了すると、結果がUnit Test Sessions ウィンドウで可視化されます。

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

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

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

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

ユニットテストフィルター

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

ユニットテストセッションウィンドウ内の各テストのステータスは、次のいずれかのアイコンで表示されます。

ThemedIcon.RunningTest.Screen.(グレー).png

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

ThemedIcon.TestPending.Screen.(グレー).png

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

ThemedIcon.StatusUnknown.Screen.(グレー).png

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

ThemedIcon.Success.Screen.(Gray).png

ユニットテストは前回のテスト実行で合格しました

ThemedIcon.Error.Screen.(Gray).png

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

ThemedIcon.Ignore.Screen.(Gray).png

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

ThemedIcon.StatusAborted.Screen.(グレー).png

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

ThemedIcon.StatusInconclusive.Screen.(グレー).png

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

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

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

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

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

テストランナーの設定

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

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

2026 年 6 月 12 日