跳到主要内容

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=.

四、建议

  • 测试命名清晰;
  • 覆盖正常、边界和异常场景;
  • 使用表格驱动测试;
  • 不依赖测试执行顺序。