日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

单元测试与基准测试

發(fā)布時(shí)間:2025/3/16 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单元测试与基准测试 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、單元測(cè)試:
Go 語(yǔ)言的測(cè)試工具只會(huì)認(rèn)為以_test.go 結(jié)尾的文件是測(cè)試文件。
測(cè)試函數(shù)必須是公開的函數(shù),以Test 單詞開頭,且函數(shù)的參數(shù)必須接收一個(gè)指向testing.T類型的指針,并且不返回任何值。

func TestDownload(t *testing.T){// xxx }

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 的值。

func BenchmarkSprintf(b *testing.B) {number := 10b.ResetTimer()for i := 0; i < b.N; i++ {fmt.Sprintf("%d", number)} } go test -v -run="none" -bench="BenchmarkSprintf" -benchtime="3s"go test -v -run="none" -bench=.?-benchtime="3s"


-run 選項(xiàng)傳遞了字符串"none",來(lái)保證在運(yùn)行制訂的基
準(zhǔn)測(cè)試函數(shù)之前沒有單元測(cè)試會(huì)被運(yùn)行
-benchtime 修改默認(rèn)的時(shí)間

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的单元测试与基准测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。