gpt4 book ai didi

c++ - 在测试中测试 C++ 全局变量的最佳方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:05:01 30 4
gpt4 key购买 nike

我有一个配置有函数的全局变量。我正在编写一个 gtest 来测试函数是否正常工作,方法是检查调用函数后全局变量是否发生变化。

ma​​in.cpp中:

bool flag{false};
void FlipFlag() {
flag = true;
}

ma​​in.h中:

void FlipFlag();

ma​​in_TEST.cpp中:

#include "gtest/gtest.h"
#include "main.h"

TEST(MainTest, TestFlagFlip) {
EXPECT_FALSE(flag);
FlagFlip();
EXPECT_TRUE(flag);
}

如何访问变量 flag 进行测试?我不想在 main.h 中声明 flag。这是测试旗帜的最佳方式吗?

最佳答案

将此添加到 main.h:

extern bool flag;

这告诉链接器 flag 存在于某处,并将在链接时解析它。

The name can be referred to from the scopes in the other translation units.

*.cpp 文件是“翻译单元”。

这是 some documentation about extern .

关于c++ - 在测试中测试 C++ 全局变量的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52048690/

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