【Go语言】代码覆盖测试(gcov)
GCOV
gcov是gcc提供的代码覆盖测试工具,它的测试结果体现2个指标。
- 每行代码执行的频率
- 实际上执行了几行代码
对于执行频率高的代码,需要重点优化;而没有被执行的代码,需要检查是否存在BUG,或是无用代码。
示例工程
一共有3个代码文件:
- calc/main.go 主程序
- simplemath/add.go 提供Add()函数
- simplemath/sqrt.go 提供Sqrt()函数
water@ubuntu-desktop:~/Workplace/golang/helloprj$ tree
.
├── bin
├── pkg
│ ├── gccgo_linux_amd64
│ └── linux_amd64
└── src
├── calc
│ └── main.go
└── simplemath
├── add.go
└── sqrt.go
7 directories, 4 files
water@ubuntu-desktop:~/Workplace/golang/helloprj$
simplemath/add.go
package simplemath
func Add(a int64, b int64) int64 {
return a + b
}
simplemath/sqrt.go
package simplemath
import "math"
func Sqrt(i int) int {
v := math.Sqrt(float64(i))
return int(v)
}
calc/main.go
package main
import "fmt"
import "simplemath"
// 用for循环计算斐波那契数
func fibona

&spm=1001.2101.3001.5002&articleId=112757995&d=1&t=3&u=ceca5804f47449e2a1559625e5327123)
1万+

被折叠的 条评论
为什么被折叠?



