美文网首页
go代码覆盖率工具goc使用

go代码覆盖率工具goc使用

作者: 小云1121 | 来源:发表于2022-05-20 14:52 被阅读0次

    最近发现了一款很好用的go代码覆盖率开源工具goc,可精准测试go项目

    1,安装

    # 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,使用步骤

    a) 首先部署一个服务注册中心goc server,它将会作为枢纽服务跟所有的被测服务通信


    image.png

    b) 用goc build --center="<server>" 命令编译被测程序


    image.png
    c)环境部署好之后,就可以做任意的测试,如本项目gotest中跑接口自动化测试用例
    d) 覆盖率文件生成及查看

    通过goc profile --center="<server>"查看被测集群的覆盖率结果
    通过goc profile -o a.cov生成覆盖率文件
    可通过go tool cover -func=merge.cov查看测试集覆盖率


    image.png
    image.png
    注:如果是多个覆盖率文件,则可合并成一个,如下命令:
    goc merge a.cov b.cov -o merge.cov
    e) 覆盖率测试完成后,需要生成html报告
    安装gocov和gocov-html
    go get github.com/axw/gocov/gocov
    go get github.com/matm/gocov-html

    报告生成命令
    gocov convert a.cov |gocov-html >cov.html


    image.png

    3,扩展相关
    vscode插件使用
    a,安装插件Goc Coverage
    b,在项目根目录运行goc run .
    c,在settings.json中修改goc.serverUrl为当前的server端地址


    image.png

    d,在vsocde最下方工具栏中打开Goc Coverage为ON状态(默认为OFF状态),运行自动化接口测试,即可看到相关代码被测试到同时背景色变绿


    image.png
    image.png

    相关文章

      网友评论

          本文标题:go代码覆盖率工具goc使用

          本文链接:https://www.haomeiwen.com/subject/jtpfprtx.html