Go test
Go 内置测试框架,使用 go test 即可运行单元测试、基准测试和示例测试。
一、单元测试
测试文件以 _test.go 结尾。
func TestAdd(t *testing.T) {
got := Add(1, 2)
if got != 3 {
t.Fatalf("want 3, got %d", got)
}
}
二、运行测试
go test ./...
go test -v ./...
go test -run TestAdd
三、基准测试
func BenchmarkAdd(b *testing.B) {
for i := 0; i < b.N; i++ {
Add(1, 2)
}
}
go test -bench=.
四、建议
- 测试命名清晰;
- 覆盖正常、边界和异常场景;
- 使用表格驱动测试;
- 不依赖测试执行顺序。