Repolode
google

google/googletest

GoogleTest 是谷歌开发的 C++ 测试与 Mock 框架,支持 xUnit 风格测试和丰富断言。

Star
39,713
Fork
10,935
未关闭 Issue
552
最近提交
20小时前

这是什么?

GoogleTest 是谷歌推出的 C++ 单元测试框架,采用 xUnit 架构。开发者可以编写测试用例并组织成测试套件,框架会自动发现并运行测试,无需手动注册。仓库还合并了原本独立的 GoogleMock 项目,用于创建 Mock 对象,把被测代码与依赖隔离开。

框架提供丰富的断言,涵盖相等、不等、异常等场景,并支持自定义断言。它还包含死亡测试(验证代码以特定方式退出)、致命与非致命失败处理,以及值参数化和类型参数化测试。运行测试时可以只执行单个用例、指定顺序,或并行执行。

GoogleTest 遵循谷歌的基础 C++ 支持策略来确定支持的编译器和平台,1.18.x 分支要求至少 C++17。Chromium、LLVM、Protocol Buffers、OpenCV 等项目都在使用它。

核心功能

  • 01自动发现测试,无需手动注册用例。
  • 02丰富的断言库,包括相等判断、异常检查和自定义断言。
  • 03死亡测试,用于验证代码的退出行为,适合测试错误处理逻辑。
  • 04支持值参数化和类型参数化测试。
  • 05支持致命与非致命失败处理,可单独、按序或并行运行测试。
  • 06内含 GoogleMock,用于创建 Mock 对象。

适用场景

  • 为 C++ 库或应用编写单元测试。
  • 使用 GoogleMock 模拟依赖,隔离被测代码。
  • 用死亡测试验证错误处理逻辑。
  • 在 CI 中并行运行大型 C++ 测试套件。

使用前须知

  • 1.18.x 分支要求至少支持 C++17。
  • 计划未来引入对 Abseil 的依赖。

收录于专题

标签

常见问题

googletest 是什么?
GoogleTest 是谷歌开发的 C++ 测试与 Mock 框架,支持 xUnit 风格测试和丰富断言。 GoogleTest 是谷歌推出的 C++ 单元测试框架,采用 xUnit 架构。开发者可以编写测试用例并组织成测试套件,框架会自动发现并运行测试,无需手动注册。仓库还合并了原本独立的 GoogleMock 项目,用于创建 Mock 对象,把被测代码与依赖隔离开。
googletest 可以免费使用吗?用的什么许可证?
googletest 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
googletest 还在维护吗?
活跃维护中。googletest 最近一次提交是在 2026年11月6日。
googletest 适合用来做什么?
为 C++ 库或应用编写单元测试。 使用 GoogleMock 模拟依赖,隔离被测代码。 用死亡测试验证错误处理逻辑。 在 CI 中并行运行大型 C++ 测试套件。
在哪里获取 googletest?
源代码和安装说明在 GitHub 上:https://github.com/google/googletest

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目