gpt4 book ai didi

c++ - GTest-如何通过SetUp方法为多次使用准备数据?

转载 作者:行者123 更新时间:2023-12-03 07:15:11 26 4
gpt4 key购买 nike

我正在尝试运行一些Google测试,并且在每个测试装置中都有很多代码需要重复,因此我想使代码尽可能简短,我想使用的子类的SetUp方法Testing::test父类,但是TEST_F固定装置无法识别SetUp中的变量
这是我能想到的最简单的例子:

class FooTest: public testing::Test
{
protected:
virtual void SetUp() // using void SetUp() override does not help
{
int FooVar = 911;
}

virtual void TearDown()
{
}
};

TEST_F(FooTest, SampleTest)
{
// FooTest::SetUp(); // This does not help as well
EXPECT_EQ(911, FooVar);
}
当我尝试编译此代码时,它显示一个错误,即未在此范围内声明FooVar。我该如何解决?
非常感谢您的帮助。

最佳答案

FooVarSetUp方法内部的局部变量。如果要在测试装置中使用它,则需要成为类成员:

class FooTest: public testing::Test
{
protected:

int FooVar;
virtual void SetUp() override
{
this.FooVar = 911;
}
};
在此示例中,如果仅设置整数类型,应仅使它们成为const成员变量。

关于c++ - GTest-如何通过SetUp方法为多次使用准备数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64766285/

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