在待测试的私有函数所在的包内,新建一个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