注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

Golang工程静态代码检查工具介绍  

来自谢蕾_cherrylei   2015-04-20 10:26:51|  分类: 默认分类 |举报 |字号 订阅

  下载LOFTER 我的照片书  |
去年短暂的进行了Go工程项目的持续集成工作,与其他开发语言一样,Go也有强大的自带工具包,持续集成过程也是类似的。随着更多项目组转战Go语言,下面的方法分享出来,希望能对大家有帮助。
1. 在持续集成机器上安装并配置go的环境变量(或者在ci节点机页面配置环境变量):
GOROOT: go 源码路径
GOPATH: 项目workspace,如我的持续集成机的GOPATH地址: /home/qatest/jenkins/workspace/nefs-ps-sa-check-2014-7-22/
项目的源代码必须放在在$gopath/src/nefs下面。
2. 在持续集成机器上拉代码并先做单元测试等的调试,以此证明环境配置的正确性
工程依赖的安装请开发同学做好一键安装的脚本,如,一键安装mysql,thrift rpc等,注意我遇到过gocov(golang的单元测试覆盖率检查工具,呵呵,不是gcov哦)无法下载的情况,解决方法:
方法一: 更新源:go get code.google.com/p/go.tools/cmd/cover;
方法二:找开发同学copy一个已经编译好的gocov,gocov-html放在gopath路径的bin文件夹下;(实在没办法的情况下才使用此法)
有两种方式可以查看代码的单元测试覆盖率:
方法一:user@ci-node:~/go/bin$ gocov test nefs/ps/pacificA | gocov-html > pacific.html 
ok nefs/ps/pacificA 28.088s coverage: 80.4% of statements 
user@ci-node::~/go/bin$ go test -cover nefs/ps/pacificA 
ok nefs/ps/pacificA 30.050s coverage: 80.4% of statements
这里我推荐使用第一种,因为可以通过html页面清晰的展示具体覆盖的代码行。至此,已经证明我们的环境配置是正确的了。
3. 在jenkins机器上创建job,编写shell进行静态代码检查和单元测试覆盖率的检查
部分截图:
Golang工程静态代码检查工具介绍 - 网易杭州QA - 网易杭州 QA Team
 golint和 go vet都是用于静态代码检查的工具,golint偏重与style方面的检查,go vet更进一步的检查代码中常见的错误,类似java中的PMD和findbugs,更多关于golint和go vet说明可以参阅:https://splice.com/blog/going-extra-mile-golint-go-vet/
很久没有继续深入golang了,只有这点静态代码检查的分享,需要继续努力!
  评论这张
 
阅读(1105)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016