go-go test 單元測試

go test

Go語言基礎之單元測試
參考URL: https://www.cnblogs.com/nickchen121/p/11517443.html

go 語言的test代碼寫起來和運行起來都相對簡單。
但是也有遵循一定的命名規則:

  • 文件名要以 ‘_test.go’ 結尾
  • 測試函數以 ‘Test’ 開頭
  • 測試函數的簽名必須接收一個指向testing.T類型的指針作爲參數,並且該測試函數不能返回任何值

go test命令

go test命令(Go語言測試命令)完全攻略
參考URL: http://c.biancheng.net/view/124.html

這裏介紹幾個常用的參數:
-bench regexp 執行相應的 benchmarks,例如 -bench=.;
-cover 開啓測試覆蓋率;
-run regexp 只運行 regexp 匹配的函數,例如 -run=Array 那麼就執行包含有 Array 開頭的函數;
-v 顯示測試的詳細命令。

demon

go test -run "TestDeterministicPrivateKeyGeneration" bls_test.go bls.go types.go 

go test單元測試變量undefined錯誤

第一次開發需求的時候遇到的問題,用go test xxx_test.go xxx.go的命令執行單個測試文件的時候,在xxx.go中可能引用到包下其他文件的變量,這時候編譯就會報錯:變量undefined。

解決方法
如果引用的文件不太多的話,把所有用到的文件一同編譯就行了。如xxx.go文件中用到了aaa.go中的變量,那執行

go test xxx_test.go xxx.go aaa.go

如果是引用關係比較複雜,存在多級引用,建議直接在包目錄下執行go test,運行該包下所有的測試文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章