6
gtestを使ってテンプレートクラスをテストしたいと思います。私はgtest manualのTYPED_TESTについて読んで、official exampleを参照しましたが、私のテストでインスタンス化されたテンプレートクラスのオブジェクトを取得することについては頭を抱えていません。gtest - テストテンプレートクラス
次のような単純なテンプレートクラスを仮定します
template <typename T>
class Foo
{
public:
T data ;
};
テストクラスでは、我々は
typedef ::testing::Types<int, float> MyTypes ;
を宣言するには、今どのように私はテストでMyTypesに記載されているTsのためのFooクラスのオブジェクトをインスタンス化することができますか? など。
TYPED_TEST(TestFoo, test1)
{
Foo<T> object ;
object.data = 1.0 ;
ASSERT_FLOAT_EQ(object.data, 1.0) ;
}
ありがとう、たくさんのTemplateRex!前にTypeParamを使ってみましたが、間違いはクラスだと思っていました。 'TypeParam n; Fooオブジェクト; ' もちろん、コンパイルされなかったものです。乾杯! –
Puchatek
@Puchatek助けになってくれてうれしい! – TemplateRex