码迷,mamicode.com
首页 > 其他好文 > 详细

golang 单元测试&&性能测试

时间:2019-07-13 09:29:04      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:情况   指针   href   申请   面积   分析   返回   htm   质量   

一:单元测试

1.为什么要做单元测试和性能测试

  • 减少bug
  • 快速定位bug
  • 减少调试时间
  • 提高代码质量

2.golang的单元测试

  • 单元测试代码的go文件必须以_test.go结尾
  • 单元测试的函数名必须以Test开头,是可导出公开的函数
  • 测试函数的签名必须接收一个指向testing.T类型的指针,并且不能返回任何值

3.golang单元测试组

  • 有好几个不同的输入以及输出组成的一组单元测试

4.测试覆盖率

  • go test -cover 直接输出覆盖率
  • go test -run TestAll 指定要运行的单元测试函数
  • go test -cover -coverprofile=c.out
  • go tool cover -html=c.out -o coverage.html 输出具体的代码覆盖情况

二:性能测试

  • 执行所有函数 go test -bench=".*"

  • 执行指定函数 go test -bench="BenchmarkWithPool"

  • 生成内存和cpu分析文件 go test -bench="BenchmarkWithPool" -cpuprofile cpu.out -memprofile mem.out

  • 分析cpu文件 go tool pprof cpu.out

  • 分析内存文件 go tool pprof mem.out

  • 输出png图 图中红色方块面积越大 证明申请的内存越大或者消耗cpu越多

源码链接

golang 单元测试&&性能测试

标签:情况   指针   href   申请   面积   分析   返回   htm   质量   

原文地址:https://www.cnblogs.com/alin-qu/p/11179337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!