このセクションでは、テスト用実行モジュールを作成して実行する方法、およびテスト結果を C++test GUI で参照する方法について説明します。
このセクションの内容:
テストの生成
テスト ケースを生成するには、次の操作を行います。
- テスト生成用のテスト コンフィギュレーションを実行します (たとえば [ビルトイン] > [Unit Testing] > [Generate Unit Tests] など)。
テスト用実行モジュールのビルド
サポートされるほとんどのターゲット/プラットフォームにおいて、テスト用実行モジュールのビルド プロセスは適切な "Run..." テスト フローの一部に過ぎません。
個別の [Build...] テスト コンフィギュレーションおよび関連するテスト フローを用意するのが便利なケースはほとんどありません。一般的に、使用するプラットフォームで推奨される手法に従うのが最善の方法です。完全な "ビルド、実行、結果の読み取り" フローが標準的に提供されているプラットフォームの場合、特別なケースでのみ個別のビルド用テスト コンフィギュレーションを使用してください。たとえば、実行可能ファイルからターゲットへの自動ロードがサポートされない場合や、静的なカバレッジ データ (テスト用実行モジュールのビルド中に収集されるデータ。モジュールは実行しない) だけが必要な場合です。
そのようなテスト コンフィギュレーションは、オリジナルまたはユーザー定義のテスト コンフィギュレーションのテスト フローからビルド部分を取り除くことで作成できることがあります。多くの場合、ビルトイン テスト コンフィギュレーションをニーズに合わせて変更し、独自の新しいテスト コンフィギュレーションを作成する必要があります。また、オリジナルのビルトイン テスト コンフィギュレーションを単純に使用できる場合もあります。
以下の方法でテスト用実行モジュールをビルドすることができます。
- [ビルトイン] > [Embedded Systems] > (プラットフォーム) > [Run...] テスト コンフィギュレーションを選択します (その後の実行が容認可能であると推定)。
- [ビルトイン] > [Embedded Systems] > (プラットフォーム) > [Build...] テスト コンフィギュレーションを選択します。
- [ビルトイン] > [Unit Testing] > [Build Test Executable] テスト コンフィギュレーションを選択します (適用できる場合)。
- ユーザー定義のテスト コンフィギュレーションを実行します。
- オリジナルのテスト フローからビルド部分のフローを削除したユーザー定義のテスト コンフィギュレーションを実行します。
テスト フローの詳細とその変更方法については 「テスト実行フローのカスタマイズ」 を参照してください。
重要なインストゥルメント設定について
ビルド プロセスおよびそれに続く実行は、テスト コンフィギュレーションの [実行] タブで設定できるインストゥルメント機能に大きく影響されます (「テスト設定の微調整 」 を参照)。組込みソリューションでは、特定のソース (たとえば起動コードや中断処理コードがあるソース) のインストゥルメントを無効化するのが多くの場合に便利であり、ときには必須であることもあります。この無効化は、プロジェクト ツリーで右クリック メニューの [Parasoft] > [C++test] > [実行の設定] から設定できる場合があります (詳細については 「実行の設定 ( ファイル レベルのみ) 」 を参照)。
テスト用実行モジュールの実行と結果の参照
テスト実行フローがテスト用実行モジュールをターゲット デバイスに自動的にデプロイしない場合は、テスト用実行モジュールを起動し、GUI に結果を読み込んで表示します。必要なアクションを手動で行う必要があります。
ファイル通信チャネルを介してテスト結果を読み込んで表示するためのヒント:
- [Utilities] > [Load Test Results (File)] テスト コンフィギュレーションは、デフォルトのテスト実行フローによって、ファイル通信チャネルを介してテスト結果を収集します。特に指定しない限り、このテスト コンフィギュレーションは ${cpptest:testware_loc} 中にログがあると想定します。必要に応じて、この場所は、C++test GUI からアクセスできるファイル システム上の任意の場所に変更できます。
- ホストからログ ファイルに確実にアクセスできるようにしてください。そのために、C++test GUI からアクセスできる場所にログ ファイルを手動で転送するか、または転送が自動的に行われるよう、テスト コンフィギュレーションのテスト実行フローをカスタマイズすることができます。
ソケット通信チャネルを介してテスト結果を読み込んで表示するためのヒント:
- [Utilities] > [Load Test Results (Sockets)] テスト コンフィギュレーションは、TCP/IP ソケットを介して送られるテスト結果を直ちに収集します。 このテスト コンフィギュレーションは Java ユーティリティ プログラムを起動してテスト結果をリッスンしキャプチャします。正しいホスト IP アドレスとポート番号を使用するよう、このテスト コンフィギュレーションのテスト実行フローのカスタマイズが必要なことがあります。
- [Utilities] > [Load Test Results (Sockets)]テスト コンフィギュレーションは、テスト用実行モジュールより先に実行する必要があります。
「Cannot find test log file. ...failed」メッセージについて
このメッセージが表示された場合、次の理由が考えられます。
1) テスト用実行モジュールが正しく実行しなかった 2) あるべきはずの場所に、テスト ログ ファイルがなかった。
2 番目の理由の場合、テスト ログ ファイルをあるべき場所に移動するか、または実際の場所を指すように設定を変更する必要があります。
テスト ケースのデバッグ
さまざまな組込み開発環境でのデバッグ
一部の組込み環境では、C++test で直接テスト ケースをデバッグできます。テスト ケースのデバッグには 2 種類のモードがあります。内部モードと外部組込みモードです。テスト ケースのデバッグを C++test が直接サポートしない環境の場合、(もしあれば) 環境によって提供される、外部でビルドされた実行モジュールのためのデバッグ手法を利用し、対象のテスト ケースに手動でブレークポイントを設定する必要があります。使用している環境でのテスト ケース デバッグを C++test が直接サポートしているかどうかについては、その環境に対応する章を参照してください。
特定の組込み環境向けビルトイン テスト コンフィギュレーションを利用し、必要に応じて変更することを強く推奨します。操作手順については 「デバッガーを使ったテスト実行 」 を参照してください。
内部デバッグ モードを有効化する
- 特定の組込み環境向けビルトイン テスト コンフィギュレーションを複製し、[ユーザー定義] カテゴリの下にある複製したテスト コンフィギュレーションを選択します。
- [実行] > [実行時] タブをクリックし、[デバッガーでテストを実行する(*)] チェックボックスをオンにします。
- [Eclipse の内部的なデバッガーとデバッグ構成を使用する] を選択していることを確認します。
詳細については 「テスト実行中のデバッガーの使用」 を参照してください。
外部組込みデバッグ モード
テスト コンフィギュレーションを変更して外部ネイティブ モードに切り替えることができます。このモードは、ネイティブ アプリケーションのデバッグのためにだけ使用されます。外部ネイティブ モードに切り替えた後、テスト フローを修正して外部組込みデバッグ モードを有効化する必要があります。
- 特定の組込み環境向けビルトイン テスト コンフィギュレーションを複製し、[ユーザー定義] カテゴリの下にある複製したテスト コンフィギュレーションを選択します。
- [実行] > [実行時] タブをクリックし、[デバッガーでテストを実行する(*)] チェックボックスをオンにします。
- [外部のデバッガーを使用] を選択します。外部ネイティブ モードが有効化されます。このモードはネイティブ アプリケーションのデバッグのためにだけ使用されます。
- テスト フローを変更して外部組込みデバッグ モードを有効化します。このモードは、テスト フローの変更によってのみ選択できます。操作手順については 「外部組込みデバッグ モードの選択 」 を参照してください。