gpt4 book ai didi

c++ - 在 googletest 中循环测试用例

转载 作者:搜寻专家 更新时间:2023-10-31 01:05:42 32 4
gpt4 key购买 nike

我想在 googleTest 中循环测试用例。我在这里称之为测试用例的是这种东西:

TEST_F(AppsTests, test_wkf1) 
{
//...
}

如果我在 TEST_F 中循环,它会崩溃。所以我会循环测试用例,如

foreach(QString s, list)
{
TEST_F(AppsName, test_i)
{
//...
}
}

我想到了这个解决方法:我在循环的每个循环中执行了一个 SetUp() 和一个 TearDown()。但为此,我必须以 TearDown() 开始测试用例并以 setUp() 结束。这不好。

是否有其他方法,例如在灯具上方定义环境?

最佳答案

您可以使用值参数化测试。基本上,您会执行以下操作:

class AppsTests : public ::testing::TestWithParam<QString>
{
// ...
};

TEST_P(AppsTests, TestA) { /* ... */ }
TEST_P(AppsTests, TestB) { /* ... */ }

INSTANTIATE_TEST_CASE_P(MyTests, AppsTests, ::testing::ValuesIn(list));

在此之后,您将为 list 中包含的每个值生成一个测试。

关于c++ - 在 googletest 中循环测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22226689/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com