一个包含常见断言和模拟的工具包,与标准库相兼容
如需了解如何在 Go 中编写测试代码,请参阅 https://go.dev/doc/code#Testing
使用 testifylint(通过 golangci-lint) 可避免常见错误
关于 测试驱动开发(TDD) 的一些介绍
打印友好、易于阅读的错误描述 * 可实现非常易于阅读的代码 * 可选地为每个断言添加消息说明
// 断言对象不为空 (当预期某些内容时很有用) if assert.NotNil(t, object) { // 现在我们知道 object 不是空,我们可以安全地进行进一步的断言,而不会引起任何错误 assert.Equal(t, "Something", object.Value) }
在 nil 条件下,不要过度惊慌,立即终止测试二进制文件
HttpSuccesss 不创建 Body -> 错误为空指针引用 [错误]
在并行子测试仍在运行时执行 TearDownTest
ElementsMatch 应显示确切的差异(按行计算)
建议: 为 `GetUnifiedDiffString` 设置全局上下文/大小
mock: 在 AssertNumberOfCalls 中避免复制呼叫历史
v1.11.0 中的 assert.Empty 回归: 一个接口指针永远不会为空
mock.Call.Time 文档不完整
mock: mock.Anything 仍然可以向后兼容
添加 ErrorNotContains 断言