【实践】golang代码覆盖率分析-goc使用

本文介绍了如何使用goc进行Golang代码覆盖率分析,包括安装goc、执行测试和生成覆盖率报告的详细步骤。通过gocserver启动服务,gocbuild编译程序,gocprofile获取覆盖率数据,再结合gotoolcover和gocovconvert生成html报告,便于代码质量检查和维护。此外,还提到了在VSCode中使用GocCoverage插件进行覆盖率查看的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

golang代码覆盖率分析-goc使用


golang是一个开发效率非常高、代码安全性高的开发语言。同时具备优秀的跨平台特性,在windows、Linux、macos、android native层可实现一次编码,多平台编译运行。同时,golang本身集成了非常多的代码测试工具,现在介绍的是goc代码覆盖率测试工具,主要从实际操作出发,基本上跟着做一遍就会了,有了goc的加持,让我们开发的代码简洁易于维护,开始…

1、安装goc

# Mac/AMD64
curl -s -L "https://github.com/qiniu/goc/releases/latest" | sed -nE 's!.*"([^"]*-darwin-amd64.tar.gz)".*!https://github.com\1!p' | xargs -n 1 curl -L  | tar -zx && chmod +x goc && mv goc /usr/local/bin

# Linux/AMD64
curl -s -L "https://github.com/qiniu/goc/releases/latest" | sed -nE 's!.*"([^"]*-linux-amd64.tar.gz)".*!https://github.com\1!p' | xargs -n 1 curl -L  | tar -zx && chmod +x goc && mv goc /usr/local/bin

# Linux/386
curl -s -L "https://github.com/qiniu/goc/releases/latest" | sed -nE 's!.*"([^"]*-linux-386.tar.gz)".*!https://github.com\1!p' | xargs -n 1 curl -L  | tar -zx && chmod +x goc && mv goc /usr/local/bin

2、使用步骤

goc server
goc build --center="http://127.0.0.1:7777"
./testPlatform
goc profile -o test.cov
go tool cover -func=test.cov
gocov convert test.cov |gocov-html > views/test_cov.html

a) 首先部署一个服务注册中心goc server,它将会作为枢纽服务跟所有的被测服务通信
启动goc server
b) 用goc build --center=“” 命令编译被测程序
在这里插入图片描述
c)环境部署好之后,就可以做任意的测试,如本项目gotest中跑接口自动化测试用例
d) 覆盖率文件生成及查看
通过goc profile --center=""查看被测集群的覆盖率结果
通过goc profile -o a.cov生成覆盖率文件

goc profile -o a.cov
go tool cover -func=a.cov
gocov convert a.cov |gocov-html >cov.html
可通过go tool cover -func=merge.cov查看测试集覆盖率
在这里插入图片描述在这里插入图片描述
注:如果是多个覆盖率文件,则可合并成一个,如下命令:
goc merge a.cov b.cov -o merge.cov
e) 覆盖率测试完成后,需要生成html报告
安装gocov和gocov-html

go install github.com/axw/gocov/gocov@latest
go install github.com/AlekSi/gocov-xml@latest
go install github.com/matm/gocov-html@latest
go get github.com/axw/gocov/gocov
go get github.com/AlekSi/gocov-xml
go get github.com/matm/gocov-html

报告生成命令

gocov convert a.cov |gocov-html >cov.html

在这里插入图片描述

3、扩展相关

vscode插件使用
a、安装插件Goc Coverage
b、在项目根目录运行goc run .
c、在settings.json中修改goc.serverUrl为当前的server端地址
在这里插入图片描述
d、在vsocde最下方工具栏中打开Goc Coverage为ON状态(默认为OFF状态),运行自动化接口测试,即可看到相关代码被测试到同时背景色变绿
在这里插入图片描述
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值