1. 基础
概述
- go test 命令用来对程序进行测试
- 在一个目录中, 以 _test.go 结尾的文件是 go test 编译的目标, go build 将会自动忽略. go test 工具扫描以 _test.go 结尾的文件来寻找特殊函数, 并生成一个临时的 main 包来编译和运行, 最后清除过程中产生的临时文件
常用规则
- 运行当前目录对应的包下面某个测试用例: go test run='^Pattern$', 其中单引号中为正则表达式
- 运行当前目录下的测试用例: go test .
- 运行子目录下的测试用例: go test ./package_name
- 运行当前目录以及所有子目录下的测试用例: go test ./...
四种函数
在以 _test.go 结尾的文件中,一共有 4 种类型的函数
- 功能测试函数: Test 前缀命名,用来测试程序逻辑的正确性
- 基准测试函数: Benchmark 前缀命名,用来测试程序的性能
- 示例函数: Example 前缀命名,用来提供文档
- 模糊测试函数: Fuzz 前缀命名,用来提供自动化测试技术