go语言单元测试代码覆盖率
本地操作
下载simple-go-server
https://github.com/CarlJi/simple-go-server
下载reademe中的文件并解压到
/usr/local/bin中
切换到simple-go-server目录下执行
git remote -v
执行go run .
此时如果报错如下
是因为:
1.go版本太低,下载新版本
https://golang.org/dl/go1.14.12.darwin-amd64.pkg
2.go命令没有替换
rm /usr/local/bin/go
成功之后的截图如下
执行命令
goc profile
字段解释
enricofoltran/simple-go-server/main.go:30.13,48.33 13 1
30.13 从main.go第8行的13列开始
48.33 到main.go第35行的第2列结束。
13 一共12行代码
1 被执行覆盖了1次
再次执行命令
goc profile --center="http://127.0.0.1:64850" > coverage.out && go tool cover -func=coverage.out
注意两次的端口号要一致(因为我是执行了多次,所以截图的端口号不一致)
如果报下图错误是因为simple-go-server 作为一个包的话要放到GOPATH里面
mkdir enricofoltran
cd /Users/panyang/workspace/go/src/enricofoltran
git clone git@github.com:CarlJi/simple-go-server.git
成功之后如下
访问http://127.0.0.1:5000/
再执行上一步命令
goc profile --center="http://127.0.0.1:64850" > coverage.out && go tool cover -func=coverage.out
会看到对应文件的覆盖率变了