google test测试框架 怎么样用c++设计实验报告
GTest 是一个流行的 C 语言单元测试框架,由 Google 开发,支持跨平台。它可以通过 vcpkg 或 CMake FetchContent 集成。测试编写使用 TEST 宏定义示例,并使用 EXPECT_EQ 等方法验证结果。通过 CMake 配置,可以使用 enable_testing、add_test 等命令构建测试套件,它支持命令行过滤和重复执行。建议与 CTest 配合使用,适用于从小到大的各种项目的测试组织和管理。

Google Test (GTest) 是最流行的 C 语言单元测试框架之一,由 Google 开发并开源,支持跨平台使用。它可以帮助开发者编写和运行自动化 C 测试示例,正确验证函数、类和模块。以下介绍如何在 C 项目中集成和使用 GTest 来编写基本的单元测试。
1. GTest 的安装和配置将 GTest 引入项目的方法有很多,常见的方法包括通过包安装或使用 CMake 安装。
方法一:使用 vcpkg(手机)
如果使用 vcpkg,依赖管理如下:
立即学习“C 免费学习笔记(深入)”;vcpkg install gtestCMake 会自动找到 GTest,无需手动配置路径。
方法二:使用 CMake FetchContent(适用于小型项目)
在项目的 CMakeLists.txt 文件中添加:include(FetchContent)FetchContent_Declare(googletest URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.zip)FetchContent_MakeAvailable(googletest)后电影名发
2. 编写第一个测试示例
如果您有一个简单的函数::// math.h#pragma onceint add(int a, int b);登录后图标// math.cpp#include quot;math.hquot;int add(int a, int b) { return a b;}登录后副本
现在轮到您编写一个测试文件:// test_math.cpp#include lt;gtest/gtest.hgt;#include quot;math.hquot;lt;pgt;TEST(MathTest,AddPositiveNumbers) {EXPECT_EQ(add(2, 3), 5);}lt;/pgt;lt;pgt;TEST(MathTest,AddNegativeNumbers) {EXPECT_EQ(add(-1, -1)), -2);}lt;/pgt;lt;pgt;TEST(MathTest,添加混合数字) 1), 0)。 CMake Build测试配置
添加到项目:小爱克式平台
小米管理小爱克式平台 281 查看详情 cmake_minimum_required(VERSION 3.14)project(my_project)lt;h1gt;添加源documentslt;/h1gt;lt;pgt;add_library(math math.cpp)lt;/pgt;lt;h1gt;电影五用lt;/h1gt;lt;pgt;enable_testing()lt;/pgt;lt;h1gt;新代五电可什么文件lt;/h1gt;lt;pgt;add_executable(test_math test_math.cpp)target_link_libraries(test_math gtest_main math)lt
;/pgt;lt;h1gt;注册测试到 CTestlt;/h1gt;lt;pgt;add_test(NAME MathTestSuite COMMAND test_math) 复制后登录
然后构建并运行:mkdir build amp;amp; cd buildcmake .. amp;amp; make./test_math # 直接运行测试 test # 使用 CTest run(手机) 复制后登录4. 常用断言宏
GTest 提供了丰富的断言方法:EXPECT_EQ(a, b):a == bEXPECT_NE(a, b):a != bEXPECT_LT(a, b):a lt; bEXPECT_GT(a, b):a > bEXPECT_TRUE(condition): EXPECT_DOUBLE_EQ(a, b) 是条件。 b):浮点数浮点数最好符合EXPECT_STREQ(s1, s2): String足以
无法输出具体值和位置,请调试。 5.组织多个测试文件
大型项目可以分为多个测试文件,例如:test_math.cpptest_string_utils.cpptest_container.cpp
每个文件生成一个可执行文件或测试主程序的统一链接。您还可以使用 gtest_main 提供默认的主函数。6. 运行选项和过滤器
运行测试时,您可以使用命令行参数控制其行为:--gtest_list_tests:列出所有测试示例--gtest_filter=MathTest.*:仅运行 MathTest 测试套件--gtest_repeat=5:重复执行 5 次--gtest_break_on_failure:失败时中断(用于调试)
例如:/test_math --gtest_filter=MathTest.AddPositive* 登录后复制。
以上是C如何使用Google Test编写单元测试_C项目自动化测试框架GTest入门的详细内容,更多请关注乐哥常识网其他相关文章!相关标签:git go github ppt ai c google红串命令行参数自动化 大家都在:c如何使用Clang-Format来统一代码风格 C初学题设计结果品建题论安全 C初医生手机安全全了常用工作
