• goc 代码覆盖率


    安装 go:https://golang.google.cn/

    查看 go 版本命令:go version

    goc 项目:https://github.com/qiniu/goc/blob/master/README_zh.md

    mac 安装 goc :

    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

    进入 goc 目录下,执行命令: 

    go build

    默认安装的go 在 build的时候会出现长时间无响应,有类似如下报如下错误:
    go: github.com/hyperledger/fabric-contract-api-go@v1.0.0: Get https://proxy.golang.org/github.com/hyperledger/fabric-contract-api-go/@v/v1.0.0.mod: dial tcp 172.217.27.145:443: i/o timeout
    因为默认的go地址被墙了,碰到这种情况则更换地址,更换为七牛云的镜像,直接运行下面两条命令即可:

    go env -w GO111MODULE=on
    go env -w GOPROXY=https://goproxy.cn,direct

    配置 goc 项目环境变量命令:

    export PATH=/Users/chenjun/PycharmProjects/goc

    环境变量生效命令:

    source /etc/profile

    查看 goc 版本命令:

    goc version

    进入 gocserver 目录 运行 goc server 命令启动一个服务注册中心:

    goc server

    运行 goc build 命令编译目标服务,然后启动插过桩的二进制。下面以 simple-go-server 工程为例:

    goc build .
    ./simple-go-server  

    运行 goc profile 命令收集刚启动的 simple server 的代码覆盖率:

    ➜  simple-go-server git:(master) ✗ goc profile
    mode: atomic
    enricofoltran/simple-go-server/main.go:30.13,48.33 13 1
    enricofoltran/simple-go-server/main.go:48.33,50.3 1 0
    enricofoltran/simple-go-server/main.go:52.2,65.12 5 1
    enricofoltran/simple-go-server/main.go:65.12,74.46 7 1
    enricofoltran/simple-go-server/main.go:74.46,76.4 1 0
    ...   

    simple-go-server 项目目录下,将覆盖率数据输出到cov3.out文件:

    goc profile > cov3.out && go tool cover -func=cov3.out

    simple-go-server 项目目录下,在宿主机的cov3.out目录下,cmd执行命令行指令,生成html报告:

    go tool cover -html=./cov3.out -o cov3.html

  • 相关阅读:
    软件工程-事后Postmortem 会议
    软件工程-项目复审
    团队作业-冲刺博客(日更)
    团队作业-冲刺博客(任务与计划)
    团队作业-需求改进&系统设计
    软件工程团队作业-需求规格说明书
    TooBug,出撃!
    FileReader
    Javascript刷新页面的几种方法:
    软件工程-个人项目
  • 原文地址:https://www.cnblogs.com/Ootori/p/16247076.html
Copyright © 2020-2023  润新知