亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 幫助中心 > 正文

使用Go進行單元測試的實現

2024-07-09 22:41:14
字體:
來源:轉載
供稿:網友

簡介

日常開發中, 測試是不能缺少的.

Go 標準庫中有一個叫做 testing 的測試框架, 可以用于單元測試和性能測試.

它是和命令 go test 集成使用的.

測試文件是以后綴 _test.go 命名的, 通常和被測試的文件放在同一個包中.

單元測試

單元測試的格式形如:

func TestAbs(t *testing.T) { got := Abs(-1) if got != 1 {  t.Errorf("Abs(-1) = %d; want 1", got) }}

在 util 目錄下創建一個文件 util_test.go, 添加一個單元測試:

package utilimport "testing"http:// 普通的測試func TestGenShortID(t *testing.T) { shortID, err := GenShortID() if shortID == "" || err != nil { t.Error("GenShortID failed") }}

然后, 在根目錄下運行 go test -v ./util/, 測試結果如下:

root@592402321ce7:/workspace# go test -v ./util/=== RUN  TestGenShortID--- PASS: TestGenShortID (0.00s)PASSok   tzh.com/web/util    0.006s

性能測試

性能測試的結果形如:

func BenchmarkHello(b *testing.B) { for i := 0; i < b.N; i++ {  fmt.Sprintf("hello") }}

在 util_test.go 添加性能測試:

// 性能測試func BenchmarkGenShortID(b *testing.B) { for i := 0; i < b.N; i++ { GenShortID() }}

運行結果如下(使用 --run=none 避免運行普通的測試函數, 因為一般不可能有函數名匹配 none):

root@592402321ce7:/workspace# go test -v -bench="BenchmarkGenShortID$" --run=none ./util/goos: linuxgoarch: amd64pkg: tzh.com/web/utilBenchmarkGenShortID-2       507237       2352 ns/opPASSok   tzh.com/web/util    1.229s

這說明, 平均每次運行 GenShortID() 需要 2352 納秒.

性能分析

運行測試的時候, 可以指定一些參數, 生成性能文件 profile.

-blockprofile block.out  Write a goroutine blocking profile to the specified file  when all tests are complete.  Writes test binary as -c would.-blockprofilerate n  Control the detail provided in goroutine blocking profiles by  calling runtime.SetBlockProfileRate with n.  See 'go doc runtime.SetBlockProfileRate'.  The profiler aims to sample, on average, one blocking event every  n nanoseconds the program spends blocked. By default,  if -test.blockprofile is set without this flag, all blocking events  are recorded, equivalent to -test.blockprofilerate=1.-coverprofile cover.out  Write a coverage profile to the file after all tests have passed.  Sets -cover.-cpuprofile cpu.out  Write a CPU profile to the specified file before exiting.  Writes test binary as -c would.-memprofile mem.out  Write an allocation profile to the file after all tests have passed.  Writes test binary as -c would.-memprofilerate n  Enable more precise (and expensive) memory allocation profiles by  setting runtime.MemProfileRate. See 'go doc runtime.MemProfileRate'.  To profile all memory allocations, use -test.memprofilerate=1.-mutexprofile mutex.out  Write a mutex contention profile to the specified file  when all tests are complete.  Writes test binary as -c would.-mutexprofilefraction n  Sample 1 in n stack traces of goroutines holding a  contended mutex.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91免费在线视频| 丝袜一区二区三区| 国产精品久久久久91| 色偷偷av亚洲男人的天堂| 亚洲一区二区三区777| 亚洲激情视频在线观看| 精品偷拍各种wc美女嘘嘘| 日韩免费在线看| 国产精品美女主播在线观看纯欲| 日韩极品精品视频免费观看| 亚洲国产精彩中文乱码av在线播放| 欧美成人午夜影院| 久久久电影免费观看完整版| 97久久精品人搡人人玩| 亚洲精品自拍偷拍| 亚洲视频日韩精品| 久久久99免费视频| 国产69精品久久久久9999| 538国产精品一区二区在线| 亚洲性生活视频在线观看| 亚洲第一区中文字幕| 亚洲a级在线观看| 热re91久久精品国99热蜜臀| 久久影院模特热| 中文字幕亚洲综合| 久久久久久美女| 伊是香蕉大人久久| 91久久久久久久一区二区| 欧美第一黄网免费网站| 亚洲成人av中文字幕| 精品国产老师黑色丝袜高跟鞋| 91精品国产高清久久久久久| 在线精品国产欧美| 正在播放欧美视频| 欧美限制级电影在线观看| 欧美精品videos性欧美| 亚洲无限乱码一二三四麻| 久久久精品久久久| 国产手机视频精品| 成人国产精品久久久久久亚洲| 九九九热精品免费视频观看网站| 欧美日韩另类在线| 亚洲男人7777| 91av视频在线免费观看| 91久久中文字幕| www.亚洲成人| 91久久久精品| 2023亚洲男人天堂| 日韩在线播放av| 久久精品国产久精国产一老狼| 国产精品久久久久久久久久免费| 亚洲一区二区免费在线| 亚洲天堂第一页| 精品福利樱桃av导航| 久久人人97超碰精品888| 91深夜福利视频| 久久久伊人日本| 精品亚洲精品福利线在观看| 欧美电影在线免费观看网站| 国产精品大陆在线观看| 欧美激情网友自拍| 欧美一二三视频| 欧美另类69精品久久久久9999| 国产免费一区二区三区在线能观看| 精品视频在线导航| 国产成人久久久| 欧美激情久久久久久| 欧美插天视频在线播放| 成人综合网网址| 亚洲免费一级电影| 久久精品人人爽| 欧美夫妻性生活xx| 国产成人一区二区在线| 国产精品偷伦一区二区| 日韩免费电影在线观看| 欧美大片免费看| 日韩高清av一区二区三区| 欧美成人精品在线| 黑人巨大精品欧美一区二区免费| 久久久久久国产三级电影| 成人午夜小视频| 久久这里只有精品视频首页| 国产精品久久久久久一区二区| 日韩欧美国产网站| 亚洲精品美女免费| 97香蕉久久夜色精品国产| 色一情一乱一区二区| 亚洲v日韩v综合v精品v| 亚洲国产成人爱av在线播放| 亚洲第五色综合网| 欧美日韩国产麻豆| 久久成人这里只有精品| 久久天天躁夜夜躁狠狠躁2022| 在线观看日韩专区| 黑人欧美xxxx| 国内偷自视频区视频综合| 日韩中文字幕在线观看| 亚洲片国产一区一级在线观看| 九九热最新视频//这里只有精品| 日韩精品视频在线播放| 亚洲激情视频网| 欧美日韩在线观看视频| 4k岛国日韩精品**专区| 亚洲精品一区中文| 色偷偷av亚洲男人的天堂| 91性高湖久久久久久久久_久久99| 国产欧美在线视频| 久久精品国产电影| 欧美日韩精品在线播放| 成人欧美在线视频| 精品视频9999| 国产精品成人观看视频国产奇米| 国产亚洲成av人片在线观看桃| 亚洲激情视频在线播放| 在线观看日韩视频| 日韩专区在线播放| 黄色成人在线免费| 成人午夜激情免费视频| 最近2019年中文视频免费在线观看| 亚洲国产97在线精品一区| 超碰日本道色综合久久综合| 国产精品久久久久久av福利软件| 亚洲自拍小视频免费观看| 成人免费激情视频| 国产欧美一区二区三区视频| 人九九综合九九宗合| 色偷偷av一区二区三区乱| 高清在线视频日韩欧美| 亚洲aa中文字幕| 日韩精品免费一线在线观看| 第一福利永久视频精品| 国产精品免费电影| 国产精品日韩久久久久| 久久精品亚洲精品| 日韩在线观看精品| 亚洲男人天堂视频| 777精品视频| 九九热99久久久国产盗摄| 日本道色综合久久影院| 日韩精品极品毛片系列视频| 美女啪啪无遮挡免费久久网站| 久久综合久久八八| 国产精品成人播放| 久久精品国产v日韩v亚洲| 日韩精品中文字幕视频在线| 91夜夜揉人人捏人人添红杏| 91亚洲va在线va天堂va国| 亚洲精品福利资源站| 欧美激情a∨在线视频播放| 国产精品看片资源| 欧美一级成年大片在线观看| 成人免费网视频| 97国产真实伦对白精彩视频8| 日韩av在线电影网| 日本成熟性欧美| 色偷偷88888欧美精品久久久| 欧美国产日韩中文字幕在线| zzjj国产精品一区二区| 国产成人福利视频| 色综合久久88| 国产不卡av在线| 91精品国产91久久久久久不卡| 久久精品色欧美aⅴ一区二区| 亚洲成人精品视频在线观看|