C++test 9.x/10.3.2/10.3.4のバージョンから移行される場合は、以下の手順の実施をお願いいたします。
C++test 10.4.1 から移行される場合は、C++test 10.4.3で追加されたスタブの振る舞いの項目のみ実施をお願いいたします。
C++test 10.4.3(10.4.1以降)から、スタブの振る舞いを設定するフレームワークが変更されております(以下、スタブコールバック)。過去バージョンで作成したスタブの振る舞いを使用するには、スタブのソースファイルのみ再作成する必要があります。テストケースに設定した振る舞いはそのまま過去バージョンで設定したスタブAPIで実装された振る舞いで動作しますが、将来的にスタブAPIでのスタブの振る舞いの実装は廃止される予定ですので、C++test 2021.2のスタブコールバックを用いてスタブの振る舞いを新たに設定いただくことを推奨します。
このページの内容:
スタブファイルの再作成
あらかじめ対象のプロジェクトのstubsディレクトリをプロジェクトディレクトリ外に移動します。
C++test 2021.2で既存のワークスペースを開きます。
[スタブ]ビューを開きます。(1)で移動したスタブが認識していないことを確認します。
※シンボル情報が表示されていない場合は、シンボル情報収集(Collect Stub Information)を実施してください[スタブ]ビューの右側にある▽を選択し、[スタブ設定]を選択します。
5. [スタブ APIの有効化(非推奨)]を有効にします。
※この設定は、スタブ作成時のみ有効になっていれば問題ありません
※[オリジナルの関数への呼び出しを挿入]に関しましては[C++test 10.4.3で追加されたスタブの振る舞い]をご参照ください
6. [スタブ]ビューより、スタブファイルを再作成します。
7. 単体テストが実行できることを確認します。
※スタブファイル内で直接振る舞いを実装している場合、(1)で退避したスタブファイルの処理を、再作成したスタブに実装してください。
※本手順の実施前の状態を復元するためには、(1)で移動したstubsディレクトリを戻してください。
スタブの振る舞いの移行
過去のバージョンで設定したスタブの振る舞いはC++test 2021.2へ移行後、[スタブ(非推奨)]で管理されます。この設定のままでもC++test 2021.2での単体テストは問題なく動作しますが、将来的に廃止予定となりますので、新たに追加された[スタブ設定]と[スタブ期待値]に移行を推奨します。過去バージョンで作成したスタブファイルでは、[スタブ設定]と[スタブ期待値]は使用できませんので、スタブファイルの再作成を実施してください。C++test 2021.2では、スタブ対象の関数ごとに振る舞いを設定できるようになるため、スタブの管理がわかりやすくなります。
【過去バージョンで設定したスタブの振る舞い】
C++test 10.4.1以降では、[スタブ設定]と[スタブ期待値]で同等の設定が可能です。
【C++test 10.4.1以降で新たに設定したスタブの振る舞い】
C++test 10.4.3で追加された スタブの振る舞い
C++test10.4.1ではオリジナル関数を呼び出す場合は、必ずテストケースにスタブ設定が必要でしたが、C++test10.4.3以降ではテストケースにスタブ設定されていない場合に自動的にオリジナル関数を呼び出すようにスタブの振る舞いが拡張されています。
新たに追加された振る舞いのスタブ作成をするための、それぞれの手順を以下に記します。
※あらかじめ対象のプロジェクトの既存stubsディレクトリをプロジェクトディレクトリ外に移動してください。
[スタブ]ビューで設定する場合
[スタブ]ビューを開きます
[スタブ]ビューの右側にある▽を選択し、[スタブ設定]を選択します
動的スタブの設定:項目の[オリジナルの関数への呼び出しを挿入]を有効にします。(デフォルトは未設定)
[スタブ]ビューより、スタブファイルを再作成します
※この設定は、スタブ作成時のみ有効になっていれば問題ありません
[テストコンフィギュレーション]で設定する場合
スタブ自動生成実行時に有効にするため、使用するテストコンフィギュレーション開きます
[Parasoft]>[テストコンフィギュレーション]>[ユーザー定義]>[スタブ自動生成実行時に使用するテストコンフィギュレーション名][実行]タブ>[シンボル]タブ 自動生成スタブの動的スタブの設定で、[オリジナルの関数への呼び出しを挿入]を有効にします。(デフォルトは未設定)
設定したテストコンフィギュレーションでスタブファイルを再作成します
※この設定は、スタブ作成時のみ有効になっていれば問題ありません
スタブコールバックの詳細は、『C++test 2021.2ユーザーズガイド』の以下の章をご参考ください。
[使用方法]>[テストの作成と実行]>[テスト スイートの拡張と変更]>[動的スタブの設定] と [スタブの追加と変更]
及び
[設定]>[テスト コンフィギュレーションの設定]>[ [実行] タブ - テストの実行方法を定義する]>[ [シンボル] タブ ]>[自動生成スタブ]>[動的スタブの設定:]