C++如何使用Google Test框架进行单元测试?(GTest入门)

admin 百科 12
Google Test入门关键是快速跑通首个测试用例。需下载源码、用CMake编译生成libgtest.a和libgtest_main.a;编写含TEST宏的测试文件;链接库并添加-pthread编译运行;成功输出2个测试通过结果。

C++如何使用Google Test框架进行单元测试?(GTest入门)-第1张图片-佛山资讯网

Google Test(GTest)是C++最主流的单元测试框架,轻量、跨平台、与主流构建系统兼容好。入门关键不是写复杂断言,而是快速跑通第一个测试用例——从编译链接到执行验证,一步都不能跳。

1. 下载与编译GTest

GTest官方推荐以源码方式集成(避免ABI兼容问题)。从GitHub仓库克隆或下载最新 release 源码:

  • 解压后进入 googletest 目录,建议用 CMake 构建(支持 Windows/Linux/macOS)
  • 新建 build/ 子目录,运行:
    cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .
  • 构建完成后,你会得到 libgtest.a(静态库)和 libgtest_main.a(含默认 main 函数)

2. 编写第一个测试文件

创建 hello_test.cpp,内容如下:

#include <gtest/gtest.h>

// 被测函数(可放在单独头文件中)
int add(int a, int b) { return a + b; }

// 测试用例:TEST(测试套名, 测试名)
TEST(AddTest, PositiveNumbers) {
  EXPECT_EQ(add(2, 3), 5);
  EXPECT_EQ(add(0, 0), 0);
}

TEST(AddTest, NegativeNumbers) {
  EXPECT_EQ(add(-1, -1), -2);
}

登录后复制

注意:
TEST 宏自动生成测试函数和注册逻辑,无需手动写 main()
EXPECT_* 是非致命断言(失败继续执行),ASSERT_* 是致命断言(失败立即退出当前测试)

3. 编译并运行测试

假设 GTest 头文件在 ./googletest/include,静态库在 ./googletest/build/lib

标签: linux git go windows github mac ai c++ macos 解压 win google c

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~