在待测试的私有函数所在的包内,新建一个xx_test.go文件
书写方式如下:import ( 'github.com/stretchr/testify/assert' 'testing')var XXFunc = yourPrivateFuncfunc 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 会调用两个函数进行测试,它是正则匹配的
以上为个人经验,希望能给大家一个参考,也希望大家多多支持优爱好网。如有错误或未考虑完全的地方,望不吝赐教。
相关文章:
1. Flutter刷新组件RefreshIndicator自定义样式demo2. requestAnimationFrame使用示例详解3. 基于JavaScript实现图片裁剪功能4. React优雅的封装SvgIcon组件示例5. uniapp自定义验证码输入框并隐藏光标6. 详解JavaScript中原始数据类型Symbol的使用7. 怎么让div+css兼容ie6ie7ie8ie9和FireFoxChrome等浏览器8. uniapp 手机验证码输入框实现代码(随机数、倒计时、隐藏手机号码中间四位)可以直接使用9. 使用Node.js实现Clean Architecture方法示例详解10. Jquery使用原生AJAX方法请求数据