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

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

查看所有标签

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

一网打尽

一网打尽

[美]布拉德·斯通 / 李晶、李静 / 中信出版社 / 2014-1-15 / 49.00元

亚马逊最早起步于通过邮购来经营图书业务。但贝佐斯却不满足于仅做一名书商,他希望缔造亚马逊万货商店的神话——能提供海量的货源,并以超低的价格提供最具吸引力的便捷服务。为了实现这一诺言,他发展了一种企业文化,这种文化蕴含着执着的雄心与难以破解 的秘诀。亚马逊的这 一文化现在依旧在发扬光大。 布拉德·斯通非常幸运地得到采访亚马逊的前任和现任高管、员工以及贝佐斯本人、家人的机会,使我们第一次有机会深......一起来看看 《一网打尽》 这本书的介绍吧!

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

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器