golang测试

简介:

转自
http://studygolang.com/articles/1155
http://www.tuicool.com/articles/RnMJrm

参考:
http://blog.golang.org/profiling-go-programs
http://google-perftools.googlecode.com/svn/trunk/doc/cpuprofile.html

  1. 代码
    要在Go语言中开启profiling,可以参考以下代码:

import (

"runtime/pprof"     // 引用pprof package
"os"

)
func main() {

f, _ := os.Create("profile_file")
pprof.StartCPUProfile(f)  // 开始cpu profile,结果写到文件f中
defer pprof.StopCPUProfile()  // 结束profile

}

  1. 运行
    运行程序,生成profile文件
  2. 分析
    在命令行上执行:

go tool pprof [binary] [profile]
进入pprof环境后,可以用help命令查看帮助信息
最常用的命令如top10,可以看最耗时的function
这里详细解释一下top命令的输出格式,例如:
14 2.1% 17.2% 58 8.7% std::_Rb_tree::find
各字段的含义依次是:

  1. 采样点落在该函数中的次数
  2. 采样点落在该函数中的百分比
  3. 上一项的累积百分比
  4. 采样点落在该函数,以及被它调用的函数中的总次数
  5. 采样点落在该函数,以及被它调用的函数中的总次数百分比
  6. 函数名
目录
相关文章
|
1天前
|
安全 测试技术 Go
第十五章 Golang单元测试
第十五章 Golang单元测试
23 2
|
1天前
|
测试技术 Go
golang-Mock对单元测试的作用
golang-Mock对单元测试的作用
31 0
|
1天前
|
安全 测试技术 Go
Golang深入浅出之-Go语言单元测试与基准测试:testing包详解
【4月更文挑战第27天】Go语言的`testing`包是单元测试和基准测试的核心,简化了测试流程并鼓励编写高质量测试代码。本文介绍了测试文件命名规范、常用断言方法,以及如何进行基准测试。同时,讨论了测试中常见的问题,如状态干扰、并发同步、依赖外部服务和测试覆盖率低,并提出了相应的避免策略,包括使用`t.Cleanup`、`t.Parallel()`、模拟对象和检查覆盖率。良好的测试实践能提升代码质量和项目稳定性。
17 1
|
7月前
|
测试技术 Go
Golang 语言怎么编写测试代码?
Golang 语言怎么编写测试代码?
25 0
|
5月前
|
测试技术 Go
golang 测试模块使用
golang 测试模块使用
31 1
|
5月前
|
NoSQL 测试技术 Linux
Golang 单元测试合集整理,(我最常用 gomonkey)欢迎收藏
Golang 单元测试合集整理,(我最常用 gomonkey)欢迎收藏
|
9月前
|
测试技术 Go
Go 单测入门篇:Golang 单元测试基本使用
Go 单测入门篇:Golang 单元测试基本使用
|
测试技术 Go
Golang:testing单元测试的使用示例
Golang:testing单元测试的使用示例
61 0
Golang:testing单元测试的使用示例
|
机器学习/深度学习 Go
Golang中defer和return的执行顺序 + 相关测试题(面试常考)
Golang中defer和return的执行顺序 + 相关测试题(面试常考)
126 0
|
NoSQL 测试技术 Go
Golang周边 | Benchmark性能测试
Golang Benchmark性能测试
251 0
Golang周边 | Benchmark性能测试

热门文章

最新文章