Я хочу протестировать класс шаблона с помощью gtest. Я прочитал о TYPED_TESTs в gtest manual и посмотрел на official example, они ссылаются, но все равно не могут обернуть мою голову вокруг получения объекта класса шаблона, созданного в моем тесте.gtest - test template class
Пусть следующий простой шаблонный класс:
template <typename T>
class Foo
{
public:
T data ;
};
В классе тестирования мы объявляем
typedef ::testing::Types<int, float> MyTypes ;
Теперь, как я могу создать объект класса Foo для Ts, перечисленных в MyTypes в тесте? .
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