Google Test是C++常用测试框架,需安装并编译库文件后使用;通过TEST宏定义测试用例,EXPECT_EQ等断言验证逻辑;编译时链接gtest库并运行可输出结果。

在C++开发中,单元测试是确保代码质量的重要手段。Google Test(也称gtest)是Google开源的C++测试框架,功能强大、使用广泛,适合为C++项目编写可维护的测试用例。
1. 安装与配置Google Test
要使用Google Test,首先需要将其集成到项目中。常见方式有通过包管理器安装或从源码编译。
以Ubuntu为例,可以通过以下命令安装:sudo apt-get install libgtest-dev cmake
由于libgtest-dev只包含源码,还需编译生成库文件:
mkdir gtest-build
cd gtest-build
cmake /usr/src/gtest
make
sudo cp *.a /usr/lib
2. 编写第一个测试用例
假设有一个简单的加法函数:
立即学习“C++免费学习笔记(深入)”;
// math.h
int add(int a, int b);
// math.cpp
int add(int a, int b) {
return a + b;
}
现在为其编写测试:
// test_math.cpp
#include "math.h"
#include
TEST(MathTest, AddFunction) {
EXPECT_EQ(add(2, 3), 5);
EXPECT_EQ(add(-1, 1), 0);
EXPECT_EQ(add(0, 0), 0);
}
3. 编译并运行测试
将测试文件与Google Test库一起编译:
g++ test_math.cpp -lgtest -lgtest_main -pthread -o test_math
./test_math
4. 常用断言与高级用法
Google Test提供丰富的断言宏,便于验证各种条件:
- EXPECT_EQ(a, b):检查a == b
- EXPECT_NE(a, b):检查a != b
- EXPECT_LT(a, b):检查a
- EXPECT_TRUE(condition):检查条件为真
- ASSERT_DEATH(statement, regex):验证程序是否因statement而崩溃
基本上就这些。掌握Google Test能显著提升C++项目的健壮性,尤其在持续集成环境中,自动化测试不可或缺。










