您的位置:首页 >C++ GTest单元测试入门教程
发布于2026-01-20 阅读(0)
扫一扫,手机访问
Google Test是C++中流行的单元测试框架,支持丰富的断言和测试组织方式。通过包管理器、FetchContent或手动编译可集成到项目中。使用TEST定义测试用例,EXPECT_EQ等断言验证结果,配合CMake构建测试程序。支持布尔、数值、浮点、字符串比较及异常检测,可通过Test Fixture共享初始化逻辑,推荐将测试纳入开发流程以提升代码质量。

Google Test(简称 gtest)是 C++ 中最流行的单元测试框架之一,由 Google 开发并开源。它提供了丰富的断言、测试用例组织方式和运行机制,帮助开发者编写可维护的测试代码。下面介绍如何在 C++ 项目中快速上手使用 Google Test 进行单元测试。
在开始前,需要让项目能够使用 gtest 库。以下是几种常见方式:
假设你要测试一个简单的加法函数。先定义功能代码:
// math.h// math.cpp
int add(int a, int b) {
return a + b;
}
然后编写对应的测试文件:
// math_test.cppTEST(MathTest, AddTwoNumbers) {
EXPECT_EQ(add(2, 3), 5);
EXPECT_EQ(add(-1, 1), 0);
EXPECT_EQ(add(0, 0), 0);
}
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
说明:
创建一个完整的 CMakeLists.txt 来构建测试程序:
cmake_minimum_required(VERSION 3.14)enable_testing()
add_library(math_lib math.cpp)
add_executable(math_test math_test.cpp)
target_link_libraries(math_test gtest_main math_lib)
add_test(NAME MathTestSuite COMMAND math_test)
构建步骤:
mkdir build运行结果会显示哪些测试通过或失败,并统计总耗时。
gtest 提供多种断言满足不同场景:
TEST_F(MyTestFixture, CanDoSomething) {<br>
// 使用共享资源<br>
}
</font>基本上就这些。掌握以上内容即可在大多数 C++ 项目中有效使用 Google Test 进行单元测试。关键是将测试作为开发流程的一部分,持续运行并保持高覆盖率。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9