gpt4 book ai didi

C++/GoogleTest - 如何测试被测类的成员变量

转载 作者:行者123 更新时间:2023-11-27 23:39:40 26 4
gpt4 key购买 nike

我正在为遗留代码创建测试,想知道是否可以像这样检查类的成员变量的值(我知道我下面的代码非常糟糕,糟糕的例子:/。希望只是请关注关于问题):

class Animal
{
public:
RESULT getInfo();
int age_;
};

int main()
{
Animal animal;
RESULT result = animal.getInfo();

return 0;
}

RESULT Animal::getInfo()
{
age_ = rand() % 10 + 1;
if (age == 5)
{
return success;
}
else
{
return fail;
}
}

在我的测试中(使用 Google Test),我调用了 getInfo():

EXPECT_EQ(success, sut_->getInfo());

但是,这只是验证 getInfo() 的结果是成功。有没有其他方法可以让我在不添加新方法/更改返回值的情况下检查 age_ 的值?谢谢!

最佳答案

由于您已经将 age_ 公开,您只需添加另一个 EXPECT_EQ 语句即可。如果公开 age_ 不是故意的,那么您将必须提供一种方法来访问 GTest 代码中的 age_

关于C++/GoogleTest - 如何测试被测类的成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56371104/

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