unit test code coverage of Golang

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

内容简介: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

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

查看所有标签

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

Geometric Folding Algorithms

Geometric Folding Algorithms

Erik D Demaine / Cambridge University Press / 2008-8-21 / GBP 35.99

Did you know that any straight-line drawing on paper can be folded so that the complete drawing can be cut out with one straight scissors cut? That there is a planar linkage that can trace out any alg......一起来看看 《Geometric Folding Algorithms》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

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

RGB CMYK 互转工具