***.go **檔案
***_test.go 單元測試檔案
func test***() 測試函式
func benchmark***() 效能測試
***.go
func sum(a, b int) int
***_test.go
func testsum(t *testing.t) ,
3: ,
20: ,
} for key, val := range sumlist
}}
run
=== run testsum
--- fail: testsum (0.00s)
hello_test.go:38: 5 + 3 = 8, or not 20
fail
go test -h
go test [build/test flags] [packages] [build/test flags & test binary flags]
// 經常使用的命令
go test . // 執行當前目錄下的所有測試函式
go test -run=testsum // 只執行testsum的測試函式
-json // 輸出json格式的結果
-cover // **覆蓋率
// 將測試樣例都測試通過後
go test -bench="."
go test -bench="benchmarksum"
func benchmarksum(b *testing.b) }}
result:
benchmarksum-4 30000000 44.5 ns/op // 執行了30000000 次,每次耗時45.0 ns
pass
ok learntest/hello 2.632s
// 詳細分析cpu的執行過程
go test -bench="benchmarksum" -cpuprofile cpu.out
// 執行後會生成cpu.out的二進位制檔案,接下來使用命令:
go tool pprof cpu.out
top
可以觀察到哪些程式過程過於耗時
Golang測試 單元測試
1 測試檔案必須以 test.go結尾 2 測試函式名必須以test xx開始 x為對應的需要測試的函式 3 使用go test命令開啟測試 檔名以 test結尾,函式以test開頭,在執行 go test 命令時會自動匹配測試檔案很執行測試函式 1 有時候我們將測試檔案 以 test.go 結尾的...
mysql 壓力測試 golang 壓力測試
1.壓力測試 1.1.1.go怎麼寫測試用例 開發程式其中很重要的一點是測試,我們如何保證 的質量,如何保證每個函式是可執行,執行結果是正確的,又如何保證寫出來的 效能是好的,我們知道單元測試的重點在於發現程式設計或實現的邏輯錯誤,使問題及早暴露,便於問題的定位解決,而效能測試的重點在於發現程式設計...
Golang測試包小結
golang自帶了測試包 testing 直接可以進行單元測試 效能分析 輸出結果驗證等。簡單看著官方文件試了試,總結一下 使用golang的測試包,需要遵循簡單的目錄結構 測試 放在待測試 的目錄下 乙個包內 以 test.go結尾,例如如下目錄結構,mytest目錄下有待測試的 檔案mytest...