Golang测试参考 [draft]
常规测试 性能测试 单元测试 模糊测试 原生测试包 httptest iotest 故障测试 failpoints Failpoints 是一种在代码中注入错误或其他行为的工具,主要用于测试。当Failpoints被配置为激活状态时,对应的代码片段才会被执行。它可以模拟各种复杂系统中的错误处理,以提高它们的容错性和稳定性。 例如,你可以在开发和调试应用程序时使用 Failpoints 使程序在特定时刻进行错误处理或表现出异常行为。最常见的使用场景是模拟网络延迟、磁盘损坏等异常情况,以测试应用程序对这些异常的处理能力。 Failpoints 也可以用于优化代码。在一些情况下,当有多个 guard 语句时,Failpoints 可以将这些不必要的代码提供给全部内联,使代码更符合 DRY(Don’t Repeat Yourself) 原则。 相关链接: Pingcap/failpoint etcd-io/gofail Mock测试 GoMock gomock是官方的mock生成工具,能够很好地和go test 框架集成。mock代码的生成基于mockgen。 安装mockgen Go 版本< 1.16 GO111MODULE=on go get github.com/golang/mock/mockgen@v1.6.0 Go版本 1.16+ go install github.com/golang/mock/mockgen@latest 使用 GoMock支持两种Mock模式:源码模式和反射模式。完整的参数列表说明如下: 若给定一个 Go 源文件,其中包含要被模拟的接口,则使用 modgen 命令为模拟类生成源代码。它支持以下参数: source: 包含要模拟的接口的文件。 destination: 一个文件,用于编写源代码。如果不设置此选项,代码将打印到标准输出。 package: 用于生成模拟类源代码的包。如果您没有设置它,那么包的名称就是 mock _ concatedwith 输入文件的包。 import: 应该在生成的源代码中使用的显式导入列表,指定为以逗号分隔的 foo = bar/baz 格式的元素列表,其中 bar/baz 是被导入的包,foo 是生成的源代码中用于包的标识符。...