Go语言入门24:测试
Table of Contents
Go 语言入门基础学习笔记之 Go 语言的测试
测试
Go 语言中的测试依赖 go test 命令。编写测试代码和编写普通的 Go 代码过程是类似的,并不需要学习新的语法、规则或工具。
在包目录内,所有以 _test.go
为后缀名的源代码文件都是 go test 测试的一部分,不会被 go build 编译到最终的可执行文件中。
在 *_test.go
文件中有三种类型的函数,单元测试函数、基准测试函数和示例函数。
类型 | 格式 | 作用 |
---|---|---|
测试函数 | 函数名前缀为 Test | 测试程序的一些逻辑行为是否正确 |
基准函数 | 函数名前缀为 Benchmark | 测试函数的性能 |
示例函数 | 函数名前缀为 Example | 为文档提供示例文档 |
go test 命令会遍历所有的 *_test.go
文件中符合上述命名规则的函数,然后生成一个临时的 main 包用于调用相应的测试函数,然后构建并运行、报告测试结果,最后清理测试中生成的临时文件。
Go 语言的单元测试对文件名和方法名,参数都有很严格的要求。
- 文件名必须以
xx_test.go
命名 - 方法必须是
Test[^a-z]
开头 - 方法参数类型必须
*testing.T
- 使用
go test
执行单元测试
在进行测试之前,需要导入 testing 的包:
import "testing"
具体测试示例和方法,可以参考: