新規テスト スイートの追加
ユーザー定義テスト ケースを新規に作成するには、次の操作を行います。
- テスト用のディレクトリを作成します。
- プロジェクト ツリーから見える場所であれば、テスト ディレクトリはどこでも構いません。デフォルトでは、テストはプロジェクトの tests ディレクトリの下に保存されます。この保存場所はテスト コンフィギュレーションで変更できます。 [実行] > [全般] タブの [テスト スイート ファイルの場所のパターン] オプションで設定します。
- プロジェクト ディレクトリ内にテストを保存しない場合、ファイル システムの他の場所にあるファイルとリンクするフォルダーを追加できます。次の操作を行います。
- [ファイル] メニューの [新規] > [フォルダー] をクリックします (このメニュー項目がない場合、[ファイル] メニューの [新規] > [その他] をクリックし、[一般] の [フォルダー] を選択して [次へ] ボタンをクリックします)。
[拡張] ボタンをクリックします。
[ファイル システム内のフォルダーにリンク] チェックボックスをオンにします。
[参照] ボタンをクリックしてソース ファイルの場所を指定します。
[終了] ボタンをクリックします。
- プロジェクト ディレクトリ内にテストを保存しない場合、ファイル システムの他の場所にあるファイルとリンクするフォルダーを追加できます。次の操作を行います。
- テスト ディレクトリを選択します。
右クリックしてショート カット メニューの [新規] > [その他] をクリックします。ウィザードが表示されます。
с.[Parasoft] > [C++test] > [テスト スイート] を選択し、[次へ] ボタンをクリックします。
3.このビューの使い方については 『Parasoft Test ユーザーズ ガイド』の「はじめに」>「Parasoft Test の GUI」を参照してください。次のテスト スイート パラメーターを設定します。
- テスト スイートの名前: テスト スイートの名前
- テスト スイートの場所: テスト スイートの場所
- テスト スイート ファイル: テスト スイート ファイルへのパス
- テスト スイートの言語: テスト スイートの実装言語。C または C++ を選択します。
- テスト対象ファイル: 指定のテスト対象ソース ファイルにテスト スイート コンテキストをセットします。指定したファイルは
CPPTEST_CONTEXT
マクロとして設定され、このマクロは、テスト スイート ファイルを指定のソース ファイルと関連付けます。- ファイルを選択してウィザードを開始した場合、そのファイル名が [テスト対象ファイル] に表示されます。
- プロジェクトを選択してウィザードを開始した場合、コンテキストは指定されません。また、テスト スイートはプロジェクト スコープになります。つまり、プロジェクトのすべてのテストが実行される場合、またはテスト ファイルとしてテスト スイートが選択されている場合にだけ、テスト スイートは実行されます。テスト スイートをテスト ファイルとして選択した場合 (テスト スイートがコンテキストを持たない場合)、C++test はテスト スイートがプロジェクト コンテキストであると推測し、プロジェクト中のすべてのファイルをリンクのために準備します。
- テスト スイート モード: テスト スイートを「スタンドアロン」にするか「インクルード」にするかを指定します。C++test はどちらのタイプのテスト スイートもインストゥルメントします。private/protected クラス メンバーにアクセスできます。
- インクルード 生成されたテスト ハーネス ソース ファイルの 1 つに、テスト スイートが物理的に含まれます。インクルード テスト スイートは、インストゥルメントされたコードと結合されて 1 つのオブジェクト ファイルにコンパイルされます。すべての自動生成テスト スイートは、インクルード テスト スイートです。ヘッダー ファイルを含めることもできます。マクロ定義はオリジナル ヘッダーで定義できます。ただし、オリジナルのテスト対象ソース ファイルで見られない型がない限り、インクルード テスト スイートはヘッダーをインクルードする必要はありません。これは通常、テスト ファクトリをインクルードするためなどの場合に、生成されたテストを変更するときにだけ必要です。
- スタンドアロンテスト スイートは個別にコンパイルされてテスト用実行モジュールにリンクされます。ヘッダーは、テスト スイートに直接インクルードしなければなりません。インクルードされたヘッダーのカバレッジ情報を収集できます。
4.(オプション) テスト ケースの名前を指定する場合、[次へ] ボタンをクリックしてテスト ケース名を入力します。
5.[終了] ボタンをクリックします。
既存のテスト スイートにテスト ケースを追加する
既存のテスト スイートに新規テスト ケースを追加するには、次の操作を行います。
プロジェクト ツリーでテスト スイート ファイルを右クリックするかエディターでテスト スイート ファイルを開き、ショートカット メニューの [新規追加] > [テスト ケース テンプレート] をクリックします。または、 テスト ケース エクスプローラーでテスト スイート ファイルを右クリックし、ショートカット メニューの [新規追加] > [テスト ケース テンプレート] をクリックします。
- テスト ケースの名前を入力します。 新しいテスト ケースが追加されてテスト スイートの内容が変更されます。
- エディターでテスト スイートのソース ファイルを開き、テスト ケースの定義を入力します。必要に応じて他の変更も加えます。たとえば:
- 次のものを使用します。 標準の C または C++ コード マクロ ( 「C/C++test API ドキュメント」を参照) テスト関数 ( 「利用可能なテスト関数」を参照) 事後条件 (「テスト ケース事後条件マクロ」 を参照)
- コンテンツ アシスタント機能を使用すると、マクロと事後条件を簡単に追加できます。事後条件テンプレートを追加するには、 CPPTEST_POST_CONDITION と入力し、最後の N の直後にカーソルを置いて Ctrl キーを押しながらスペース キーを押し、事後条件を選択します。 アサーション テンプレートを追加するには、CPPTEST_ASSERT と入力し、最後の T の直後にカーソルを置いて Ctrl キーを押しながらスペース キーを押し、アサーションを選択します。追加したテンプレートは必ずカスタマイズしてください。
- コンテンツ アシスタント機能を使用すると、マクロと事後条件を簡単に追加できます。事後条件テンプレートを追加するには、 CPPTEST_POST_CONDITION と入力し、最後の N の直後にカーソルを置いて Ctrl キーを押しながらスペース キーを押し、事後条件を選択します。 アサーション テンプレートを追加するには、CPPTEST_ASSERT と入力し、最後の T の直後にカーソルを置いて Ctrl キーを押しながらスペース キーを押し、アサーションを選択します。追加したテンプレートは必ずカスタマイズしてください。
- #include ディレクティブおよびヘッダー ファイルのマクロ定義を使用します。
- #include ディレクティブを使って、テスト用実行モジュールをビルドするときに他のファイルをインクルードします。
- CPPTEST_CONTEXT マクロを使って、テスト スイートのコンテキストを変更します。このマクロは、テスト スイート ファイルを指定のソース ファイルと関連付けます。1 つのソース ファイルだけを指定できます。コンテキストの指定がない場合、プロジェクトが実行されるたびにテスト スイートが実行されます。
- テストの実行前にプロジェクト ツリーでソース ファイルまたはディレクトリを選択した場合、C++test はテスト コンフィギュレーションの [テスト スイート ファイルの場所のパターン] オプションで指定されたすべてのテスト ディレクトリをスキャンします。指定のコンテキストに一致するすべてのテスト スイートが実行されます。
- プロジェクト全体を選択した場合、テスト パス上のすべてのテスト スイートが実行されます。
- 1 つのテスト スイートまたは 1 つのテストを選択した場合、CPPTEST_CONTEXT マクロは、このテスト スイートが関連するソース ファイルをバックトレースするために使用されます。選択したテスト スイートだけが実行されます。
- 相対パスを使用する場合、パスは "./" または "../" で開始しなければなりません。
4.変更したファイルを保存します。