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。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: