单元测试与基准测试
1、單元測(cè)試:
Go 語(yǔ)言的測(cè)試工具只會(huì)認(rèn)為以_test.go 結(jié)尾的文件是測(cè)試文件。
測(cè)試函數(shù)必須是公開的函數(shù),以Test 單詞開頭,且函數(shù)的參數(shù)必須接收一個(gè)指向testing.T類型的指針,并且不返回任何值。
t.Fatal 不但報(bào)告這個(gè)單元測(cè)試已經(jīng)失敗,而且會(huì)向測(cè)試輸出寫一些消息,并立刻停止這個(gè)測(cè)試函數(shù)的執(zhí)行。
t.Error 方法會(huì)報(bào)告測(cè)試失敗,但是并不停止當(dāng)前測(cè)試函數(shù)的執(zhí)行
調(diào)用go test -v運(yùn)行測(cè)試
2、基準(zhǔn)測(cè)試:
????????基準(zhǔn)測(cè)試是一種測(cè)試代碼性能的方法。也可以用來(lái)識(shí)別某段代碼的CPU或者內(nèi)存效率問題,基準(zhǔn)測(cè)試的文件名也必須以_test.go 結(jié)尾,同時(shí)也必須導(dǎo)入testing 包,基準(zhǔn)測(cè)試函數(shù)必須以 Benchmark 開頭,接受一個(gè)指向 testing.B 類型的指針作為唯一參數(shù)。
基準(zhǔn)測(cè)試框架默認(rèn)會(huì)在持續(xù) 1 秒的時(shí)間內(nèi),反復(fù)調(diào)用需要測(cè)試的函數(shù),并且一定要將所有要進(jìn)
行基準(zhǔn)測(cè)試的代碼都放到循環(huán)里,并且循環(huán)要使用 b.N 的值。
-run 選項(xiàng)傳遞了字符串"none",來(lái)保證在運(yùn)行制訂的基
準(zhǔn)測(cè)試函數(shù)之前沒有單元測(cè)試會(huì)被運(yùn)行
-benchtime 修改默認(rèn)的時(shí)間
總結(jié)
- 上一篇: 耗费 7.5 亿做的“垃圾”,被 3 个
- 下一篇: Golang的日志记录器