c++ 分组模板测试夹具

jjhzyzn0  于 2023-02-10  发布在  其他
关注(0)|答案(1)|浏览(120)

我有一个模板测试类,我希望为它编写测试fixture。我有下面的代码段,它可以工作,但由于模板类型的原因,它不能将测试fixture“分组”在一起,所以我必须分别运行它们中的每一个,而不是只运行一次(即UTestClass)。当我运行UTestClass时,它显示No tests were found
请注意,下面的代码片段也允许跨不同的测试装置访问成员变量_value,所以我希望具有此行为。
有没有一种方法可以将模板测试装置组合在一起?也许是在一个测试套件或另一个类中?

template<typename T>
struct UTestClass : public testing::Test
{
   T _value;
};

using Float = UTestClass<float>;
using Double = UTestClass<double>;

TEST_F(Float, TestA)
{
  // able to access _value
}

TEST_F(Double, TestB)
{
  // able to access _value
}
f2uvfpb9

f2uvfpb91#

TYPED_TEST_SUITETYPED_TEST用于这种目的。

template<typename T>
struct UTestClass : public testing::Test {};

using UTestClassTypes = ::testing::Types<float, double>;
TYPED_TEST_SUITE(UTestClass, UTestClassTypes);

TYPED_TEST(UTestClass, TestA) {
}

相关问题