Repolode
stretchr

stretchr/testify

为 Go 标准测试框架提供断言、Mock 和测试套件结构的工具包。

Star
26,229
Fork
1,870
未关闭 Issue
402
最近提交
6天前

这是什么?

Testify 是一个 Go 测试库,用于让测试代码写得更简洁。assert 包提供相等性、nil 判断等常用断言函数,失败时通过标准 go test 机制输出易读的信息。require 包提供同样的函数,但失败时会直接终止当前测试,而不是返回布尔值。

mock 包通过嵌入 Mock 类型来构造 mock 对象,可以声明预期的调用和返回值,并验证这些预期是否得到满足。suite 包允许把测试组织为结构体方法,并支持 setup 和 teardown 钩子,再通过标准的 Test 函数运行。

该项目目前维护在 v1 版本,此仓库不接受破坏性变更。各个包可通过一条 go get 命令安装。

核心功能

  • 01提供相等性、nil 判断等常用断言,失败信息清晰易读
  • 02require 包在断言失败时立即终止测试
  • 03支持声明预期调用与返回值的 mock 对象并进行验证
  • 04可将测试组织为带 setup 和 teardown 钩子的结构体套件

适用场景

  • 用简洁的断言为 Go 服务和库编写单元测试
  • 通过 mock 接口把被测代码与外部依赖隔离
  • 用套件组织相关测试,并共享 setup 与 teardown 逻辑

快速上手

  1. 1

    使用 go get 安装 testify

    go get github.com/stretchr/testify
  2. 2

    在测试文件中导入 assert 包并编写测试

使用前须知

  • suite 包不支持并行测试。
  • http 包已被弃用。

收录于专题

标签

常见问题

testify 是什么?
为 Go 标准测试框架提供断言、Mock 和测试套件结构的工具包。 Testify 是一个 Go 测试库,用于让测试代码写得更简洁。assert 包提供相等性、nil 判断等常用断言函数,失败时通过标准 go test 机制输出易读的信息。require 包提供同样的函数,但失败时会直接终止当前测试,而不是返回布尔值。
testify 可以免费使用吗?用的什么许可证?
testify 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
testify 还在维护吗?
活跃维护中。testify 最近一次提交是在 2026年10月19日。
testify 适合用来做什么?
用简洁的断言为 Go 服务和库编写单元测试 通过 mock 接口把被测代码与外部依赖隔离 用套件组织相关测试,并共享 setup 与 teardown 逻辑
testify 怎么安装和运行?
使用 go get 安装 testify: go get github.com/stretchr/testify 在测试文件中导入 assert 包并编写测试
在哪里获取 testify?
源代码和安装说明在 GitHub 上:https://github.com/stretchr/testify

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

相关项目