golang 對私有函數進行單元測試的實例
在待測試的私有函數所在的包內,新建一個xx_test.go文件
書寫方式如下:
import ( "github.com/stretchr/testify/assert" "testing" ) var XXFunc = yourPrivateFunc func TestXXFunc(t *testing.T) { ret, ... := XXFunc(...) assert.Equal(t, ret, ...) }
就可以瞭~
補充:golang test使用(簡單的單元測試)
1、測試單個文件,一定要帶上被測試的原文件
go test -v wechat_test.go wechat.go
2、測試單個方法
go test -v wechat_test.go -test.run TestRefreshAccessToken
如果不指定文件名,會將當前目錄的所有test方法進行測試
舉例:
package main import ( "fmt" "testing" ) func TestFmt1(t *testing.T) {//1 方法必須傳入testing.T 2 方法名必須是以Test開頭,駝峰命名 fmt.Println("test1") } func TestFmt2(t *testing.T) { fmt.Println("test2") }
go代碼保存為 t_test.go //必須以_test.go作為結束
在此代碼同級目錄執行 :
go test -v t_test.go -test.run TestFmt2 會調用TestFmt2
如果執行:
go test -v t_test.go -test.run TestFmt 會調用兩個函數進行測試,它是正則匹配的
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。