测试
多做测试 少做调试
传统测试 vs 表格驱动测试
传统测试
- 测试数据和测试逻辑混在一起
- 出错信息不明确
- 一旦一个数据出错测试全部结束
表格驱动测试
- 分离测试数据和测试逻辑
- 明确的出错信息
- 可以部分失败
go语言 测试文件跟与要测试的文件同目录,文件名规则如下
1 | add_test.go |
命令行运行测试用例
1 | go test . |
测试用例代码
1 | package main |
代码覆盖率
命令行运行
go test -coverprofile=c.out
一般生成的文件很难理解
使用一个工具
go tool cover -html=c.out
性能测试
可以使用命令行
go test -bench .
func BenchmarkSubstr(b *testing.B) {
a := 19999
c := 123123
for i := 0; i < b.N; i++ {
add(a, c)
}
}
进行性能调优
生成一个文件
go test -bench . -cpuprofile=cpu.out
运行这个
go tool pprof cpu.out
有很多功能 使用最简单的 web
如果想用web的话需要安装一个包
Download
然后查看是哪一步占用的时间多
文档
godoc -http :6060
在本地生成一个文档,有go语言的文档,也有自己的写的代码的文档
go语言注释可以随意写
go doc fmt.Println
打印文档注释
gdb调试
go build -gcflags “-N -l” gdbfile.go