在待测试的私有函数所在的包内,新建一个xx_test.go文件
书写方式如下:
1
2
3
4
5
6
7
8
9
|
import (
"github.com/stretchr/testify/assert"
"testing"
)
var XXFunc = yourPrivateFunc
func TestXXFunc(t *testing.T) {
ret, ... := XXFunc(...)
assert.Equal(t, ret, ...)
}
|
就可以了~
补充:golang test使用(简单的单元测试)
1、测试单个文件,一定要带上被测试的原文件
1
|
go test -v wechat_test.go wechat.go
|
2、测试单个方法
1
|
go test -v wechat_test.go -test.run TestRefreshAccessToken
|
如果不指定文件名,会将当前目录的所有test方法进行测试
举例:
1
2
3
4
5
6
7
8
9
10
11
12
|
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 会调用两个函数进行测试,它是正则匹配的
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/IGUOSJ/article/details/108342625