gofunc - 简单好用的go test工具

gofunc

简单好用的go test工具

使用场景

用于快速测试某个函数或表达式,比如有个函数用于删除slice里的一个元素:

func DeleteSliceInt(data []int, i int) []int {
    return append(data[:i], data[i+1:]...)
}

正常的单元测试需要新建 xxx_test.go 文件,编写 Testxxx 函数,这样操作有时候过于繁琐。

为简化步骤,开发了工具命令 gofunc ,在命令行模式下调用 DeleteSliceInt 实现单元测试,并输出返回值:

$ gofunc -r 'DeleteSliceInt([]int{0,1,2,3,4,5}, 3)'
>> [0 1 2 4 5]
PASS
ok      0.089s
使用方法
  • git clone到本地,执行go build,得到exe
  • 复制 gofunc 程序到系统bin目录
  • 切换到测试函数所在目录,执行gofunc命令
- 若测试函数
- 无参数,无返回值: gofunc yourFuncName
- 有参数,无返回值: gofunc 'yourFuncName(arg1, arg2)'
- 无参数,有返回值: gofunc -r yourFuncName
- 有参数,有返回值: gofunc -r 'yourFuncName(arg1, arg2)'
表达式测试
$ gofunc -r 'time.Now().Format("2006-01-02 15:04:05")'
>> 2020-04-15 14:01:48
$ gofunc -r 'int(math.Floor(float64(59)/60 + 0.5))'
>> 1
$ gofunc -r "strconv.FormatFloat(3.1415926, 'f', 2, 64)"
>> 3.14
$ gofunc -r 'strings.ReplaceAll("who make test easier", "who", "gofunc")'
>> gofunc make test easier

目前仅支持fmt、time、math、strconv、strings包
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值