FAQ / QTE (Quality Town for Embedded Grade)
【QTE13】結果確認に関する問題
QTE13_03 : メンバー関数、クラス定義
【質問】
機能安全カバレッジモードで、テスト対象となるクラスのメンバー関数が、テスト中に呼ばれているにも関わらずカバレッジが0%になります。
0%となる原因を教えてください。
【回答】
原因としては、以下の2点が考えられます。
@ テスト対象ソースファイルの解析時、対象のクラス定義が書かれたヘッダファイルがテスト対象ヘッダファイルとして設定されておらず、
メンバ関数へのカバレッジ計測用コードの埋め込みができなかった
A カバレッジ計測用コードが埋め込まれたソースのオブジェクトファイルが、テストドライバソースのオブジェクトファイルより後にリンクされている
そのため、以下の2点をご確認ください。
@ project.jsonの"cov-target-header-path-list"オプションに、対象のクラスを定義している
ヘッダファイルのパスを設定しているか確認してください。
A 実行ファイルにリンクするオブジェクトファイルの順番を確認してください。
テスト対象ソースをコンパイルしたオブジェクトファイルが、テストドライバソースのオブジェクトファイルより後にリンクされている場合、
テスト対象ソースをコンパイルしたオブジェクトファイルが先にリンクされるように設定してください。
設定後、prepareコマンドから再実行してください。
関連サポート情報検索