ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
> Go内置了单元测试,非常方便 [TOC] ## 单元测试 ### 测试代码 > 路径:/test/xx_test.go (文件名都一`*_test.go`命名) ~~~ package test import ( "math" "testing" ) func TestXx1(t *testing.T) { got := math.Abs(-1) if got != 1 { t.Errorf("Abs(-1) = %v; want 1", got) } } func TestXx2(t *testing.T) { got := -1 if got != 1 { t.Error("-1 != 1") } } ~~~ ### 运行单元测试 ~~~ go test . # 或者 go test xx_test.go ~~~ ## 性能测试 ### 测试代码 > 路径:/test/xx_test.go (文件名都一`*_test.go`命名) ~~~ package test import ( "fmt" "testing" ) func BenchmarkHello(b *testing.B) { b.ResetTimer() for i := 0; i < b.N; i++ { fmt.Println("hello") } } ~~~ ### 运行性能测试 ~~~ go test -v -bench="BenchmarkHello$" --run=none . # 或者 go test -benchmem -bench . ~~~ > 运行结果 ~~~ BenchmarkHello-2 410744 10592 ns/op ~~~ > 这说明, 平均每次运行 `fmt.Println("hello")` 需要 10592 纳秒