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