在待測試的私有函數所在的包內,新建一個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 會調用兩個函數進行測試,它是正則匹配的
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- 解決golang 關于全局變量的坑
- 深入淺析golang zap 日志庫使用(含文件切割、分級別存儲和全局使用等)
- 關于golang高并發的實現與注意事項說明
- 基于Golang 高并發問題的解決方案
- 使用golang編寫一個并發工作隊列
- golang 并發編程之生產者消費者詳解
- Golang全局變量加鎖的問題解決