在待测试的私有函数所在的包内,新建一个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全局变量加锁的问题解决