このセクションでは、自動生成テスト ケースを参照する方法について説明します。

このセクションの内容 :

自動生成テスト ケースへのアクセス

自動生成テスト ケースはテスト スイート ファイルに保存されます。デフォルト設定では、C++test は1 つのファイルにつき 1 つのテスト スイートを生成します。設定を変えれば、1 つの関数につき 1 つのテスト スイートを生成することもできます。 詳細については 「[テスト スイート] タブ」および 「生成オプションのカスタマイズ」を参照してください。

自動生成されたテスト ケースを参照するには、次の操作を行います。

  1. プロジェクト ツリーで、生成されたテスト スイート ファイルを探します。  
  2. プロジェクト ツリーで、生成されたテスト クラスのノードをダブルクリックします。エディターが開き、テスト クラス ファイルが表示されます。

テスト ケースとは

テスト ケースはテスト スイート中に格納されます。

テスト対象のファイルに後で関数を追加した場合、更新されたファイルにテスト生成が実行されて、新しいテスト ケースが元のテスト スイート ファイルに追加されます。

コンテキスト マクロとインクルード マクロ

各テスト スイートは、次の 2 つのマクロから開始します。

これらのマクロで指定するファイルは、テスト対象ファイルのファイル名と一致しなければなりません。テスト対象ファイルのファイル名を変更した場合、マクロ側のファイル名も合わせて変更する必要があります。

これらのマクロでは相対パスを使用できます。相対パスは "./" または "../" で開始しなければなりません。

事後条件マクロ

次の事後条件マクロは、テストの実行中に変数またはクラス メンバーが保持した値をレポートするために使用されます。

これらのマクロの結果 ( レポートされたすべてのアサーション値) は [品質タスク] ビューに表示されます。事後条件がレポートされたテスト ケースは、回帰テストで使用するために自動的に「検証済み」にできます。検証済みにすることによって、 *_POST_CONDITION_* マクロはアサーションに変換され、今後のテストで期待値 (検証済みの値) が出力されなかった場合、このアサーションは失敗します。この機能は特に、レガシー コードをベースにした回帰テストを自動生成するのに役立ちます。テスト ケースの検証の詳細については 「回帰テストと例外検出のためのテスト ケースの生成」を参照してください。

その他のマクロ

アサーション マクロは、ユーザーが事後条件を検証したときにテスト ケースに追加されます。

テストのニーズに合わせて他のマクロを追加することも可能です。テスト ケースで使用できるマクロの一覧については 「C++test API ドキュメント」を参照してください。

テスト関数

自動生成テスト ケースは、特別な関数を持つことがあります。たとえば、最大値や最小値にアクセスする関数などです。

C++test ランタイム ライブラリには、異なる数値を使ってテスト ケースを生成するために、整数型および浮動小数点型の最大値/最小値を返す関数が用意されています。次の表中のすべての関数はユーザー定義テスト ケースで使用できます。


関数
目的
char cpptestLimitsGetMaxChar(void);
char 型の最大値を返します。
char cpptestLimitsGetMinChar(void);
char 型の最小値を返します。
signed char cpptestLimitsGetMaxSigned Char(void);
signed char 型の最大値を返します。
signed char cpptestLimitsGetMinSigned Char(void);
signed char 型の最小値を返します。
unsigned char cpptestLimitsGetMaxUnsigned Char(void);
unsigned char 型の最大値を返します。
short cpptestLimitsGetMaxShort(void);
short 型の最大値を返します。
short cpptestLimitsGetMinShort(void);
short 型の最小値を返します。
unsigned short cpptestLimitsGetMax UnsignedShort(void);
unsigned short 型の最大値を返します。
int cpptestLimitsGetMaxInt(void);
int 型の最大値を返します。
int cpptestLimitsGetMinInt(void);
int 型の最小値を返します。
unsigned int cpptestLimitsGetMaxUnsigned Int(void);
unsigned int 型の最大値を返します。
long cpptestLimitsGetMaxLong(void);
long 型の最大値を返します。
long cpptestLimitsGetMinLong(void);
long 型の最小値を返します。
unsigned long cpptestLimitsGetMaxUnsigned Long(void);
unsigned long 型の最大値を返します。
float cpptestLimitsGetMaxPosFloat(void);
float 型の正の最大値を返します。
float cpptestLimitsGetMinNegFloat(void);
float 型の負の最小値を返します。
float cpptestLimitsGetMaxNegFloat(void);
float 型の負の最大値を返します。
float cpptestLimitsGetMinPosFloat(void);
float 型の正の最小値を返します。
double cpptestLimitsGetMaxPosDouble(void);
double 型の正の最大値を返します。
double cpptestLimitsGetMinNegDouble(void);
double 型の負の最小値を返します。
double cpptestLimitsGetMaxNegDouble(void);
double 型の負の最大値を返します。
double cpptestLimitsGetMinPosDouble(void);
double 型の正の最小値を返します。
long double cpptestLimitsGetMaxPosLong Double(void);
long double 型の正の最大値を返します。
long double cpptestLimitsGetMinNegLong Double(void);
long double 型の負の最小値を返します。
long double cpptestLimitsGetMaxNegLong Double(void);
long double 型の負の最大値を返します。
long double cpptestLimitsGetMinPosLongDouble(void);
long double 型の正の最小値を返します。


自動生成スタブ

詳細については「自動生成スタブのカスタマイズ」 を参照してください。