このセクションの内容:
テスト プロジェクトの使用を推奨するのは次の場合です。
また、テスト プロジェクトを使用すると、オリジナルのソース コードとテスト コンポーネント (テスト ケースとスタブ) を分離しやすくなります。
テスト プロジェクトを作成して制御するユーザー インターフェイスは、次のものから構成されます。
[テスト プロジェクトを作成] メニュー コマンドは、プロジェクト ナビゲーターのショートカット メニューから利用できます。 Flexible と Standard のどちらのビルド サポートでも、このメニュー コマンドが表示されるのはビルド ターゲットのノードだけです 。他のノードでは表示されません。
複数のビルド ターゲットを選択して 1 つのテスト プロジェクトを作成できますが、同じ種類のビルド ターゲット (Flexible または Standard ビルド サポート) を選択する必要があります。異なる種類のビルド ターゲットを混在させることはできません。
次の図では、Flexible ビルドをサポートするビルド ターゲットを選択して [テスト プロジェクトを作成] メニュー コマンドを表示しています。
次の図では、Standard ビルドをサポートするビルド ターゲットを選択して [テスト プロジェクトを作成] メニュー コマンドを表示しています。
[テスト プロジェクトを作成] をクリックすると、テスト プロジェクトを作成するための C++test のウィザードが表示されます。ウィザードの各ページの操作について以下のセクションで説明します。
次の操作を行います。
C++test は必要な情報をビルドから収集し、[テスト プロジェクトを作成] を実行したときに選択したビルド ターゲットのビルド プロセスを開始します。
ビルド コマンドの前に、コンパイラ/リンカーのフラグを収集してビルド データ ファイルに格納する C++test ユーティリティが呼び出されます。この C++test ユーティリティの詳細については、「既存のビルド システムを使った C++test プロジェクト」を参照してください。
ビルド情報を収集しようとするとき、C++test は選択されたすべてのビルド ターゲットに対するビルド プロセスを開始し、コンパイラ/リンカー/ライブラリアンのコマンドラインの前に、ビルド フラグを記録するための C++test ユーティリティを追加します。結果として、[テスト プロジェクトを作成] の前に、インクルードされるすべてのビルド ターゲットに対して clean を呼び出すことが非常に重要です。または次のように、インクルードされるすべてのプロジェクト (選択されたビルド ターゲットの親) を make コマンドで確実に変更してください。 デフォルトの
make コマンドの変更は、プロジェクトの作成時に行うことも、後で [Project Properties] > [Build Properties] > [Build Support] タブの [Build command] フィールドで行うこともできます。 C++test は任意のパラメーターで %makeprefix% を置き換えます。Workbench のビルドからすべてのビルド オプションを取得するために、C++test は -B パラメーターを使って make を実行する必要があります。C++test による Workbench ビルドの実行では、コンパイラが C++test オプション スキャン ユーティリティによって置き換えられるため、実際のバイナリ ファイルのビルドを伴いません。make の実行に -B パラメーターをアタッチできるようにするには、ビルド コマンドを make %makeprefix% とするのが最も簡便であり、標準的な Workbench ビルドにおいて他の変更を引き起こしません。 |
ビルド プロセスのスキャン中に収集された情報は、<test_project_name>.bdf という名前のテキスト ファイル中に保存されます。このファイルはローカル ワークスペースでのみ使用することを目的としています。このファイルは絶対パスを使用しているため、ソース管理システムを使って共有するべきではありません。
ビルド プロセスからスキャンされた情報に基づいて、作成されるテスト プロジェクトのプレビューがウィザード ページに表示されます。ビルド プロセス中にコンパイルされるすべてのソース ファイルは、テスト プロジェクトにリンクされるべきです。
C++test はビルド プロセスでインクルードされたすべてのソース ファイルの親フォルダーをリンクしようとします。このウィザード ページのショートカット メニューから、自動生成テスト プロジェクトの構造を変更することができます。
プロジェクトの内容を設定する
このウィザード ページでは、リンクされたフォルダーの場所を定義するための変数を追加することができます。作成されたテスト プロジェクトを共有したい場合、この変数の追加が必要です。
なお、プロジェクトを別のワークスペースにインポートする場合、変数を定義する必要があります ([ウィンドウ] メニューの [設定] > [一般] > [ワークスペース] > [リンクされたリソース] で定義します)。通常、ワークスペースの場所は変数を使って参照されます。
プロジェクト ナビゲーターのショートカット メニューから [テスト プロジェクトをリフレッシュ] メニュー コマンドを使用できます。このメニュー コマンドが表示されるのは、テスト プロジェクトのノードだけです。このメニュー コマンドを選択すると、強制的にビルド スキャン プロセスが実行されます。
次の場合にこのメニューを使用します。
[テスト プロジェクト参照] プロパティ ページでは、テスト プロジェクトを作成するときに当初含められる一連のビルド ターゲットを変更できます。このページを表示するには、プロジェクト プロパティの [Parasoft] > [C++test] > [テストプロジェクト参照] をクリックします。
テスト プロジェクトによって参照されるビルド ターゲットのリストが表示されます。[テスト プロジェクトをリフレッシュ] メニュー コマンドを選択すると、C++test はこのリストで参照されているすべてのリソースについてビルド フラグ情報を収集しようとします。
テスト プロジェクトの管理では、基になったオリジナル プロジェクトと同期を取る作業が必要です。多くの場合、次の作業が必要です。
テスト プロジェクトによって参照されるプロジェクト中のビルド フラグが変更されるたびに、テスト プロジェクトをリフレッシュして同期を保つべきです。テスト プロジェクトをリフレッシュするには、プロジェクト ナビゲーターでプロジェクトのノードを右クリックし、ショートカット メニューの [C++test] > [テスト プロジェクトをリフレッシュ] をクリックします。 テスト プロジェクトによって参照されるビルド ターゲットが再スキャンされ、ビルド データ ファイルがリフレッシュされます。
テスト プロジェクトを作成するとき、C++test は参照されるビルド ターゲットのビルド中、コンパイルされたソース ファイルがあるすべてのディレクトリにプロジェクトをリンクします。このリンクは一度だけ実行され、プロジェクトの作成後に自動的にリソースのリンクが追加されることはありません。そのため、プロジェクトの作成後に追加したリソースをリンクするには、標準的な Eclipse の機能を使ってユーザーがリンクを追加する必要があります。プロジェクトを選択して [ファイル] メニューの [新規] > [その他] の [ファイル] または [フォルダー] を選択し、[ファイル システム内のファイル/フォルダーにリンク] を有効にしてファイル/フォルダーを指定します。
既存のリソースをコピーするのではなく、リンクされたリソースを使用することを強く推奨します。 |
テスト プロジェクトを作成するとき、C++test は参照されるビルド ターゲットのビルド中、コンパイルされたソース ファイルがあるすべてのディレクトリにプロジェクトをリンクします。このリンクは一度だけ実行され、プロジェクトの作成後に自動的にリソースのリンクが追加されることはありません。そのため、プロジェクトの作成後に削除したリソースのリンクを削除するには、標準的な Eclipse の機能を使ってユーザーがリンクを削除する必要があります。
複数のビルド ターゲットからテスト プロジェクトを作成する場合、ビルド ターゲットを追加/削除して、参照されるビルド ターゲット のリストを変更しなければならないことがあります。リストを変更するには、プロジェクト ナビゲーターでプロジェクトのノードを右クリックし、[プロパティ] の [C++test] > [テストプロジェクト参照] をクリックします。次回プロジェクトをリフレッシュしたときに、変更が反映されます。
1 つのプロジェクトについて Wind River Workbench プロジェクトの複数のビルド仕様を利用することは、よく行われています。その場合、プロジェクトのアクティブなビルド仕様を変更したときに、プロジェクトをリフレッシュするだけで、新しいコンパイラ/リンカー フラグを取得することができます。ビルド仕様ごとに個別にテスト プロジェクトを作成する必要はありません。