<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Go語言中的測試依賴go test命令。編寫測試程式碼和編寫普通的Go程式碼過程是類似的,並不需要學習新的語法、規則或工具; go test 命令是go語言內建的命令
go test命令是一個按照一定約定和組織的測試程式碼的驅動程式
在我們執行了go tets命令之後,這個命令會自動的幫我們尋找當前包下面在包目錄內以_test.go為字尾名的原始碼檔案進行測試,同時解析內部所有以大寫的Test開頭的測試函數(注:不會被go build編譯到最終的可執行檔案中)
邏輯行為:比如舉一些特例,來檢查是否達到預期值
效能基準測試相當於呼叫10萬次或者1萬次,看看它的平均的執行時間、記憶體的是申請、記憶體的消耗等等
如下結構以及程式碼內容
注:執行完go test後,結構以及程式碼內容沒有任何變化
一箇中文所佔的位元組在uf8中至少佔用的都是3個位元組,甚至有的是4個位元組,問題出現在:s = s[i+1:]這一行
如下結構以及程式碼內容
注:執行完命令後結構以及程式碼內容沒有任何變化
go test:
顯示pass,說明測試用例通過了
如下結構以及程式碼內容
注:執行完命令後結構以及程式碼內容沒有任何變化
顯示pass,說明測試用例通過了
如果有多個測試用例的話,可以寫成一個測試組,測試組裡可以定義一個測試用例的結構體,然後分別的建立多個測試用例的結構體範例,然後寫一個for迴圈去跑一下這個測試用例
注:執行完命令後結構以及程式碼內容沒有任何變化
go test
go test -v:
可以檢視的更詳細
注:執行完命令後結構以及程式碼內容沒有任何變化
用t.run的話,裡面傳入一個匿名函數的話,go test -v可以看的更清晰
go test -run=Split/chinese的換可以指定某個測試用例單獨測試
go test -cover校驗測試覆蓋率(即比如我們的測試函數有6行程式碼,如果我們的測試用例把這6行程式碼都執行了,那麼這是最好的了,覆蓋率是100%,現實情況下很少有100%的情況,測試覆蓋率基本上就足夠了,
注:執行完命令後結構以及程式碼內容沒有任何變化 go test -bench=Split :(注意:所有的資料不同的電腦都不一樣) BenchmarkSplit-16: -16是作業系統真正幹活的程序數,不同的電腦不一樣 1731301是指Spilt執行的次數 629.1ns是指:每一次操作耗費629.1納秒 go test -bench=Split -benchmem: (注意:所有的資料不同的電腦都不一樣) 檢視操作的記憶體的資料 112 B/op: 每一次操作消耗的是112個位元組 3 allocs/op : 每一次操作它會做三次的記憶體申請(通過看這個就可以來做程式碼優化,由測試來不斷優化我們的程式),檢視程式碼後發現原因是append會進行記憶體申請,現在的解決辦法就是用make函數被做統一的記憶體申請
go test -bench=Split -benchmem: (注意:所有的資料不同的電腦都不一樣) 發現各個資料都減少了
應用場景:某些函數當我們傳入的引數變數不一樣的話,執行的次數也不一樣,這種情景就可以用效能比較函數,比如
到此這篇關於GoLang基礎學習之go test測試的文章就介紹到這了,更多相關GoLang go test測試內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45