golang 对私有函数进行单元测试的实例

时间:2022-01-25 09:01:19

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