go:testing.T與*testing.B


寫在前面:

testing.T用來進行單元測試,*testing.B用來進行壓力測試,檢測函數的性能

go test命令只能在一個相應的目錄下執行所有文件,所以在一個目錄下面創建兩個文件,分別是代碼文件和測試文件:gotest.go和gotest_test.go

 

1.單元測試

a.文件名必須是_test.go結尾的,這樣在執行go test的時候才會執行到相應的代碼

b.你必須import testing這個包

c.所有的測試用例函數必須是Test開頭

d.測試用例會按照源代碼中寫的順序依次執行

e.測試函數TestXxx()的參數是testing.T,我們可以使用該類型來記錄錯誤或者是測試狀態

f.測試格式:func TestXxx (t *testing.T),Xxx部分可以為任意的字母數字的組合,但是首字母不能是小寫字母[a-z],例如Testintdiv是錯誤的函數名

g.函數中通過調用testing.TErrorErrorfFailNowFatalFatalIf方法,說明測試不通過,調用Log方法用來記錄測試的信息

 

2.壓力測試

a.壓力測試的格式:func BenchmarkXXX(b *testing.B) { ... },其中函數命名以Benchmark開頭,XXX首字母必須大寫

b.go test不會默認執行壓力測試的函數,如果要執行壓力測試需要帶上參數-test.bench,語法:-test.bench="test_name_regex",例如go test -test.bench=".*"表示測試全部的壓力測試函數

c.在壓力測試用例中,請記得在循環體內使用testing.B.N,以使測試可以正常的運行

d.文件名也必須以_test.go結尾

執行:go test -bench BenchmarkXXX

 

轉載自:https://www.cnblogs.com/faunjoe88/p/8524674.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM