googletest:基于 C++ 的 xUnit 测试框架项目

GoogleTest - Google Testing and Mocking Framework

分支9Tags29
文件最后提交记录最后更新时间
2 年前
4 个月前
29 天前
2 天前
3 天前
5 年前
2 年前
9 个月前
1 年前
2 年前
2 年前
8 年前
4 个月前
1 年前
9 个月前
2 年前
1 年前
4 个月前

on

谷歌测试框架(GoogleTest)

公告

文档更新

我们的文档现已上线 GitHub Pages,网址为 https://google.github.io/googletest/。我们建议您在 GitHub Pages 上浏览文档,而不是直接在代码库中查看。

版本 1.17.0 发布

版本 1.17.0 现已可用。

1.17.x 分支 要求至少使用 C++17

持续集成

我们使用谷歌内部系统进行持续集成。

即将到来

  • 我们计划依赖 Abseil

欢迎使用 GoogleTest,谷歌的 C++ 测试框架!

此代码库是之前分开的 GoogleTest 和 GoogleMock 项目的合并。这两个项目密切相关,因此将它们一起维护和发布是有意义的。

快速入门

请参阅 GoogleTest 用户指南 以获取文档。我们建议从 GoogleTest 入门 开始。

关于构建 GoogleTest 的更多信息可以在 googletest/README.md 中找到。

特性

  • xUnit 测试框架:
    Googletest 基于 xUnit 测试框架,这是一种流行的单元测试架构。
  • 测试发现:
    Googletest 自动发现并运行您的测试,消除了手动注册测试的需要。
  • 丰富的断言集:
    Googletest 提供了多种断言,如相等性、不等性、异常等,使测试代码变得容易。
  • 用户定义的断言:
    您可以使用 Googletest 定义自己的断言,使得编写特定于您代码的测试变得简单。
  • 命终测试:
    Googletest 支持命终测试,这可以验证您的代码是否以特定方式退出,对于测试错误处理代码非常有用。
  • 命终与非命终失败:
    您可以指定测试失败是否应被视为命终或非命终,允许测试即使在发生失败时也能继续运行。
  • 值参数化测试:
    Googletest 支持值参数化测试,该测试会使用不同的输入值多次运行,对于测试接受不同输入的函数非常有用。
  • 类型参数化测试:
    Googletest 还支持类型参数化测试,该测试会使用不同的数据类型运行,对于测试处理不同数据类型的函数非常有用。
  • 运行测试的各种选项:
    Googletest 提供了许多运行测试的选项,包括运行单个测试、按特定顺序运行测试和并行运行测试。

支持的平台

GoogleTest 遵循谷歌的 基础 C++ 支持政策。请查看 这个表格,了解目前支持的编译器、平台和构建工具版本。

谁在使用 GoogleTest?

除了谷歌的许多内部项目外,以下知名项目也在使用 GoogleTest:

相关开源项目

GTest Runner 是一个基于 Qt5 的自动化测试运行器和用于 Windows 和 Linux 平台的功能强大的图形用户界面。

GoogleTest UI 是一个测试运行器,运行您的测试二进制文件,允许您通过进度条跟踪进度,并显示测试失败的列表。点击其中一个会显示失败文本。GoogleTest UI 是用 C# 编写的。

GTest TAP Listener 是一个针对 GoogleTest 的事件监听器,实现了 TAP 协议 用于测试结果输出。如果您的测试运行器理解 TAP,您可能会发现它很有用。

gtest-parallel 是一个测试运行器,可以并行运行您的二进制文件中的测试,以提供显著的加速。

GoogleTest Adapter 是一个 VS Code 扩展,允许以树状视图查看 GoogleTest 并运行/调试您的测试。

C++ TestMate 是一个 VS Code 扩展,允许以树状视图查看 GoogleTest 并运行/调试您的测试。

Cornichon 是一个小的 Gherkin DSL 解析器,用于为 GoogleTest 生成存根代码。

贡献变更

请阅读 CONTRIBUTING.md 以获取有关如何为该项目贡献的详细信息。

祝您测试愉快!

项目介绍

GoogleTest - Google Testing and Mocking Framework

定制我的领域
1.25 K38.76 K10.81 K访问 GitHub