ユニット テストと C++

更新 : 2007 年 11 月

Visual C# と Visual Basic では、単体テストを使用できます。

ms243171.alert_note(ja-jp,VS.90).gifメモ :

ただし、Visual C# と Visual Basic のジェネリック型およびジェネリック メソッドについては、単体テストの生成にいくつかの制約が適用されます。詳細については、「ユニット テストおよびジェネリック」を参照してください。

このトピックで説明する詳細に従うと、Visual C++ でも単体テストを使用できます。

単体テストで Visual C++ を使用できる方法は、ソリューションでの Visual C++ の役割によって異なります。次のケースが考えられます。

  • Visual C++ で記述されたコードをテストするために、単体テストを使用しています。詳細については、「Visual C++ 実行コード」を参照してください。

  • プロジェクトに Visual C++ で記述された単体テストが含まれています。詳細については、「テスト プロジェクトと Visual C++」を参照してください。

  • Visual C++ で記述されたコードから単体テストを自動生成します。詳細については、「コードの生成と Visual C++」を参照してください。

Visual C++ 実行コード

テストするコード (実行コードと呼ばれます) について、次の点に注意してください。

  • アンマネージ。実行コードがアンマネージである場合、スタティック ライブラリ、.obj ファイル、または DLL エントリ ポイントから呼び出しできる必要があります。アンマネージ Visual C++ には、実行時検出機構であるリフレクションが提供されていないため、実行可能ファイルまたは DLL 内に埋め込まれているクラス メソッドは動作しません。そのため、従来のネイティブなバインディング機構のみが動作します。

  • 混合。混合プロジェクトとは、/clr コンパイラ オプションを使用するプロジェクトです。実行コードが混合であり、実行可能ファイルではない場合、コードの任意の呼び出し可能メソッドを呼び出して、テストできます。

  • 安全または純粋。実行コードが安全または純粋の場合、実行可能ファイルまたは DLL の任意の呼び出し可能アセンブリ メソッドを呼び出して、テストできます。

テスト プロジェクトと Visual C++

テスト プロジェクトには、プロジェクトに設定したコンパイラ オプションに基づいて、さまざまな機能があります。詳細については、「コンパイラ オプション」および「/clr (共通言語ランタイムのコンパイル)」を参照してください。次のセクションでは、さまざまなコンパイラ オプション設定で利用できる機能について説明します。

アンマネージ

テスト プロジェクトのプログラミング言語として、アンマネージ (ネイティブ) Visual C++ は使用できません。

混合

混合プロジェクトとは、/clr コンパイラ オプションを使用するプロジェクトです。この種類のテスト プロジェクトでは、次の実行コードをテストする機能が提供されています。

  • 静的なネイティブ ライブラリ

  • ネイティブ DLL エントリ ポイント

  • スタンドアロン .obj ファイル

  • 呼び出し可能なメソッドを備えた混合モード DLL アセンブリ。実行可能ファイルにはアンマネージ コードが含まれ、一般にアンマネージ実行可能コードは、再ベース アドレス対応ではないため、これには実行可能ファイルは含まれません。

  • 呼び出し可能な任意のマネージ メソッド。/clr:pure または /clr:safe のコンパイラ オプションでコンパイルされるコードです。

安全または純粋

/clr:pure または the /clr:safe のコンパイラ オプションをテスト プロジェクトで使用している場合は、呼び出し可能なマネージ メソッドをテストできます。つまり、/clr、/clr:pure、または /clr:safe のコンパイラ オプションでコンパイルされる実行コードです。

コードの生成と Visual C++

単体テストを Visual C++ テスト プロジェクトに生成できます。これらのテストは Visual C++ 実行コード プロジェクトから生成できます。次の点に注意してください。

  • 実行コード プロジェクト。実行コードが Visual C++ で記述されている場合、製品で /clr:safe コンパイラ オプションを使用する場合のみ単体テストを生成できます。

  • テスト プロジェクト。コードの生成によって、Visual C++ テスト プロジェクトのあらゆる種類 (混合、安全、および純粋) で単体テストを作成できます。作成される既定のプロジェクトの種類は、/clr:safe プロジェクトです。プロジェクトを /clr または /clr:pure に変更する場合、常に Visual C++ コンパイラ オプションを使用して、それを行います。詳細については、「/clr (共通言語ランタイムのコンパイル)」を参照してください。

参照

処理手順

方法 : 単体テストを編集する

概念

ユニット テストおよびジェネリック

参照

コンパイラ オプション