測試
執行以上後會顯示出如下
f1 10000 120860 ns/op 2433 B/op 28 allocs/op
f2 10000 120288 ns/op 2288 B/op 26 allocs/op
其中分別為
1. 疊代次数
2. ns/op 是一次疊代完成所需的時間奈秒
3. allocs/op 表示每個op發生多少個內存分配
4. B/op 是每個操作分配了多少 bytes 。
撰寫測試
1.先在目錄內新增一個main.go (如果沒有其他go檔案test會錯誤)
2.新增 ...test.go (任何名稱加上 _test.go)
3.輸入 go test <package name>
會自動去尋找目錄內 _test.go檔案,然後其中 名稱包含Test的func

新增如下,然後把 1改成 2看看
package hello
import "testing"
func Test123(t *testing.T) {
if 1 != 1 {
t.Fail()
}
}
其他可用包含
t.Skip() t.Error() t.Log(...)
Benchmark
任何以func BenchmarkXxx(b *testing.B) 都會跑效能測試
package hello
import "testing"
func Add(a, b int) int {
return a + b
}
func BenchmarkAdd(b *testing.B) {
for i := 0; i < b.N; i++ {
Add(1, 2)
}
}
然後輸入go test hello -bench="."
想看到 Log 的訊息的話,必須加上 -v 引數, 加上 -bench 引數可指定要測試的函式名稱
Last updated
Was this helpful?