よくある質問(FAQ)

テスト対象のテンプレートクラスのメンバ関数のカバレッジが0%になります。

【QTE21】テスト作成に関する問題

質問

テスト対象のテンプレートクラスのメンバ関数のカバレッジが0%になります。

回答

テスト対象ソースファイル内で対象のテンプレートクラスがインスタンス化されていない場合、カバレッジが0%になります。
そのため、テスト対象ソースファイル内で対象のテンプレートクラスが使用されていない場合、明示的にテンプレートクラスをインスタンス化する必要があります。

以下のように、テスト対象ソースファイルに宣言を追加して、テンプレートクラスをインスタンス化してください。

例) calc.hに定義されたテンプレートクラスCalcをインスタンス化する場合

#include "calc.h"

template class Calc;