テスト対象の関数から関数ポインタを使用して呼び出されるサブ関数があります。このサブ関数をスタブするには、どのようにすれば良いですか?
よくある質問(FAQ)
テスト対象の関数から関数ポインタを使用して呼び出されるサブ関数があります。このサブ関数をスタブするには、どのようにすれば良いですか?
関数ポインタを介して呼び出されるサブ関数であっても、「共通スタブ」関数であれば作成・適用が可能です。
具体的には、関数ポインタのテストデータ(関数アドレス、またはシンボル名)として指定したサブ関数を、「スタブ設定」のリストから選択してスタブ関数を作成します。
スタブの置換設定を行ったサブ関数は、関数ポインタにより呼び出される場合であっても、正しくスタブ関数へと置換されて実行されます。
ただし、「個別スタブ」はテスト対象の関数から明示的に(スタティックに)呼び出されるサブ関数のみを対象とする仕様です。そのため、関数ポインタを介して呼び出されるサブ関数に対しては、「個別スタブ関数」を作成することはできません。これはカバレッジマスターの仕様上の制限となります。