unit test code coverage of Golang

栏目: 编程工具 · 发布时间: 5年前

内容简介:go由google在2009年11月发布,目前版本是1.11 。sum.go是源代码,sum_test.go是单元测试代码(按照惯例,go中的单元测试代码文件要以_test.go结尾)执行单元测试,并查看单元测试覆盖率

go由google在2009年11月发布,目前版本是1.11 。

开发环境配置

  1. 下载 go 安装程序 下载地址: https://golang.org/dl/ ,默认路径安装
  2. 下载后直接双击msi文件安装,默认安装在c:\go
  3. 安装完成后默认会在环境变量 Path 后添加 Go 安装目录下的 bin 目录 C:\Go\bin\,并添加环境变量 GOROOT,值为 Go 安装根目录 C:\Go\
  4. 验证是否安装成功,在运行中输入 cmd 打开命令行工具,在提示符下输入 go
  5. 设置工作空间gopath目录, 也即开发的项目路径。Windows环境下,新建一个环境变量名称叫做GOPATH,值就是你的工作目录,例如GOPATH=e:\mygo
    %GOPATH% 目录约定有三个子目录:
    -- src 存放源代码(比如:.go .c .h .s等)
    -- pkg 编译后生成的文件(比如:.a)
    -- bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 windows的PATH 变量中,在环境变量path后追加%GOPATH%\bin)
  6. 用go env命令可以查看GO相关的环境变量设置
  7. IDE的选择和设置: Go的开发ide目前有很多选择,比如LiteIDE,Vim,Emcas,goEclipse等。这里使用LiteIDE
  8. 编写helloworld并运行
// helloworld
package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello World!")
}

单元测试

sum.go是源代码,sum_test.go是单元测试代码(按照惯例,go中的单元测试代码文件要以_test.go结尾)

执行单元测试,并查看单元测试覆盖率

Administrator@SC-201810221720 MINGW64 /f/gopath/src/main
$ ls
sum.go  sum_test.go

Administrator@SC-201810221720 MINGW64 /f/gopath/src/main
$ go build

Administrator@SC-201810221720 MINGW64 /f/gopath/src/main
$ ls
main.exe*  sum.go  sum_test.go

Administrator@SC-201810221720 MINGW64 /f/gopath/src/main
$ cat sum.go
package main

func Sum(x int, y int) int {
    return x + y
}

func main() {
    Sum(5, 5)
}
Administrator@SC-201810221720 MINGW64 /f/gopath/src/main
$ cat sum_test.go
package main

import "testing"

func TestSum(t *testing.T) {
    total := Sum(5, 5)
    if total != 10 {
       t.Errorf("Sum was incorrect, got: %d, want: %d.", total, 10)
    }
}
Administrator@SC-201810221720 MINGW64 /f/gopath/src/main
$ go test
PASS
ok      _/F_/gopath/src/main    0.027s

Administrator@SC-201810221720 MINGW64 /f/gopath/src/main
$ go test -cover
PASS
coverage: 50.0% of statements
ok      _/F_/gopath/src/main    0.026s

Administrator@SC-201810221720 MINGW64 /f/gopath/src/main

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

热点

热点

【美】马克•舍费尔(Mark Shaefer) / 曲秋晨 / 中国人民大学出版社 / 2017-1 / 49.00

你是不是常常困惑: 我创作内容,利用社交媒体,并紧跟每一次数字营销的创新和新平台的运作,可为什么我的业务和影响力没有明显起色? 2015年至2020年间,网络信息量将增长五到十倍,信息极度过剩。如何让你的内容脱颖而出?《热点》由全球顶尖营销专家马克•舍费尔所著,详尽披露如何收获核心粉丝、形成社会认同、引爆热点,进而成功塑造伟大的企业和个人品牌。一起来看看 《热点》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具