1. 测试文件的组织
在 Go 中,测试文件通常与被测试的源文件位于同一包内,并遵循以下命名规范:
- 源文件:
xxx.go
- 测试文件:
xxx_test.go
测试文件的命名必须以 _test.go
结尾,这样 Go 工具链才能识别并将其作为测试文件处理。
2. 测试函数的签名
测试函数必须满足以下签名:
func TestXxx(t *testing.T) { ... }
- 函数名以
Test
开头,后面跟被测试的函数或功能名称(通常首字母大写)。 - 接受一个参数
*testing.T
,用于报告测试失败和日志信息。
二、编写测试函数
1. 基本示例
假设有一个简单的加法函数 Add
,位于 math.go
文件中:
// math.go
package mathutilfunc Add(a, b int) int {return a + b
}
对应的测试文件 math_test.go
可以这样编写:
// math_test.go
package mathutilimport ("testing"
)func TestAdd(t *testing.T) {tests := []struct {a, b, expected int