ホーム > ユーザーサポート > FAQ カバレッジマスターwinAMS

FAQ / カバレッジマスターwinAMS

スタブ作成に関する問題

002_04 : スタブ関数の作成と管理には、どのような方法がありますか?

【質問】
スタブ関数の作成には、どのような方法がありますか?また、元の関数からスタブ関数への動作の切り替えはどのようにして行うのですか?

【回答】

■スタブ関数の種類

まずスタブ関数には、「共通スタブ」「個別スタブ」の2つのタイプがあります。これは使い分けができます。

「共通スタブ」とは、1つのサブ関数に対して1つのスタブ関数を作成し、すべての関数で共用する(共通に使う)スタブです。

例えば、sub()を呼び出す2つの関数func1(), func2()がある場合に、sub()のスタブ関数 AMSTB_sub()を1つ作り、func1(), func2()のテスト両方に同じAMSTB_sub()を使ってテストすることになります。このため、テスト関数毎に、スタブに別々の機能を持たせることはできません。

これに対し「個別スタブ」とは、テスト関数毎に個別にスタブ関数を作るものです。例えば、sub()を呼び出す2つの関数func1(), func2()がある場合には、

func1()のテストに使うsub()のスタブ関数をAMSTB_func1_sub(),
func2()のテストに使うsub()のスタブ関数をAMSTB_func2_sub()

の様に個別に作ることになります。このため、テスト関数毎に、スタブに別々の機能を持たせることができます。

実際のユーザーの運用は、「個別スタブ」は自由度が高い反面、スタブ関数の個数が膨大になることや、スタブを含めたオブジェクトサイズが大きくなることを避けるために、「共通スタブ」を使って運用するケースが殆んどです。

■スタブ関数の切り替え方法

次に、上記で作成したスタブ関数を、どのように使うかの指定に2つの方法があります。

1つ目は、「スタブ設定」のビューで作成したスタブのリストの「置換」スイッチを使って、元の関数をスタブ関数に置換して実行する方法です。この方法ではチェックボックスに「置換」指定をしたものだけがスタブに入れ替わって実行され、「置換」をオフにすれば元の関数がそのまま実行されます。

考え方は非常にシンプルでわかりやすいのですが、この「置換」指定は、プロジェクトに登録したCSVファイルのテスト全てに有効であるため、CSV毎にスタブのオン・オフを切り替えられない欠点があります。

2つ目は、作成したスタブの置換設定を、CSVファイルに書き込んで管理し、「スタブ設定」のビューの「置換」スイッチは使用しない方法です。これは「CSV別スタブ設定」の機能です。

この方法は、スタブの置換状態がCSVファイルに書き込まれて、テストエビデンスとして残せること、CSV毎にスタブのオン・オフが自由に切り替えられるため、ほとんどのユーザーは、この管理方法を使っています。

「CSV別スタブ設定」については、弊社セミナーテキストの「実習3 スタブ機能を使用してサブ関数を置換」「(参考)CSV別スタブ設定」をご参照ください。。
http://www.gaio.co.jp/users/cm1_3H3447Q7/7.CM1_text.pdf

 

関連サポート情報検索

【サポート情報サイト内Google検索】

検索キーワード: スタブ関数作成

他のキーワード検索


参考情報・リンク