我想用 gtest 测试一个模板类。我在Google 测试手册中阅读了 TYPED_TESTs并查看了他们引用的官方示例,但仍然无法在我的测试中实例化模板类的对象。
假设以下简单的模板类:
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) ;
}