go test 用法总结

go test 用法总结

使用操作

  1. 在当前目录下使用 go test 会运行当前目录下所有的 test 文件。

  2. test 文件命名 xxx_test.go

  3. test 文件里需要运行的方法命名 TestXxx(t *testing.T/b *testing.B) // 测试性能的时候用 b

  4. 若要跳过当前 test 文件中的某个方法,使用 t.SkipNow()

  5. go test 不会按照顺序执行多个 test case。若想要顺序执行,需要用到 subtests 。用 t.Run 来执行 subtests 可以做到控制顺序的作用。

  6. TestMain 作为初始化 test。

    func TestMain(m *testing.M) {
      fmt.Println("test main first")
      m.Run()
    }
    

    作为入口 test。可以在 m.Run() 之前初始化一些东西,比如数据库连接、文件打开。。。

Test 之 Benchmark

  • benchmark 函数一般以 Benchmark 开头
  • benchmark 的 case 一般会跑 b.N 次,而且每次执行都会如此
  • 在执行过程中会根据实际 case 的执行时间是否稳定会增加 b.N 的次数以达到稳态
  • 执行命令 go test -bench=.
    • 输入该命令后,go test 只会测试 Benchmark 开头的函数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值