我正在为遗留代码创建测试,并想知道是否可以检查像这样的类的成员变量的值(我知道我的下面的代码非常糟糕,例子很糟糕:/。希望仅关注一下问题)
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()
的结果是success
。是否可以通过其他方法检查age_
的值而无需添加新方法/更改返回值?
谢谢!
答案 0 :(得分:3)
由于已经公开age_
,因此您可以添加另一个EXPECT_EQ
语句。如果不打算公开age_
,那么您将不得不提供一种方法,可以使用age_
代码访问GTest
。