在待測(cè)試的私有函數(shù)所在的包內(nèi),新建一個(gè)xx_test.go文件
書(shū)寫(xiě)方式如下:
import (
"github.com/stretchr/testify/assert"
"testing"
)
var XXFunc = yourPrivateFunc
func TestXXFunc(t *testing.T) {
ret, ... := XXFunc(...)
assert.Equal(t, ret, ...)
}
就可以了~
補(bǔ)充:golang test使用(簡(jiǎn)單的單元測(cè)試)
1、測(cè)試單個(gè)文件,一定要帶上被測(cè)試的原文件
go test -v wechat_test.go wechat.go
2、測(cè)試單個(gè)方法
go test -v wechat_test.go -test.run TestRefreshAccessToken
如果不指定文件名,會(huì)將當(dāng)前目錄的所有test方法進(jìn)行測(cè)試
舉例:
package main
import (
"fmt"
"testing"
)
func TestFmt1(t *testing.T) {//1 方法必須傳入testing.T 2 方法名必須是以Test開(kāi)頭,駝峰命名
fmt.Println("test1")
}
func TestFmt2(t *testing.T) {
fmt.Println("test2")
}
go代碼保存為 t_test.go //必須以_test.go作為結(jié)束
在此代碼同級(jí)目錄執(zhí)行 :
go test -v t_test.go -test.run TestFmt2 會(huì)調(diào)用TestFmt2
如果執(zhí)行:
go test -v t_test.go -test.run TestFmt 會(huì)調(diào)用兩個(gè)函數(shù)進(jìn)行測(cè)試,它是正則匹配的
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- 解決golang 關(guān)于全局變量的坑
- 深入淺析golang zap 日志庫(kù)使用(含文件切割、分級(jí)別存儲(chǔ)和全局使用等)
- 關(guān)于golang高并發(fā)的實(shí)現(xiàn)與注意事項(xiàng)說(shuō)明
- 基于Golang 高并發(fā)問(wèn)題的解決方案
- 使用golang編寫(xiě)一個(gè)并發(fā)工作隊(duì)列
- golang 并發(fā)編程之生產(chǎn)者消費(fèi)者詳解
- Golang全局變量加鎖的問(wèn)題解決