Golang中自帶了testing包,可以用于單元測試和壓力測試。
在自己的包下:
比如,自己寫的一個包為logger包,那麼單元測試和壓力測試在logger包目錄下直接進行即可。
如果不在自己的包目錄下,那麼就應當在go test指令之後,再加上包的相對位址,比如位址為:%GOPATH%/src/aaa/bbb/ccc/ddd/xxx,則使用的位址就為:aaa/bbb/ccc/ddd/xxx
指令就為:
go test aaa/bbb/ccc/ddd/xxx
首先,測試時應将檔案名命名為:xxx_test.go檔案,要求必須以_test.go結尾。
其次,單元測試的測試函數名稱必須為:TestXxx
即:應以Test開頭,且Test之後的第一個字母必須大寫。
與單元測試相似,壓力測試的測試函數名稱必須為:BenchmarkXxx
其中,單元測試TestXxx應傳入(t *Testing.T)來進行測試。
壓力測試BenchmarkXxx應傳入(b *Testing.B)來進行測試。因為是壓力測試,是以,可以在其中使用for循環,for循環的次數可以使用壓力測試自帶的次數:b.N即:for i=0;i<b.N;i++即可。
最後,在測試時,在本目錄下打開終端,
單元測試:使用go test指令即可運作所有的單元測試。使用go test -v指令可檢視單元測試的詳細資訊。
如果隻想運作一個指定的單元測試,使用
go test -run TestXxx
指令即可。
壓力測試:使用go test -bench . 指令即可運作壓力測試。
注意:指令是:
後面有個點“.”哦
這個點“.”代表運作所有的壓力測試,如果隻想運作一個壓力測試,使用
go test -bench BenchmarkXxx
即可。