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

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

查看所有标签

猜你喜欢:

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

算法概论

算法概论

Sanjoy Dasgupta、Christos Papadimitriou、Umesh Vazirani / 钱枫 注、邹恒明 注 / 机械工业出版社 / 2009-1 / 55.00元

《算法概论(注释版)》源自加州大学伯克利分校和加州大学圣迭戈分校本科生的算法课讲义,以独特的视角展现了算法设计的精巧技术及魅力。在表达每一种技术时,强调每个算法背后的简洁数学思想,分析其时间和空间效率,运用与其他技术类比的方法来说明特征,并提供了大量实例。《算法概论(注释版)》以人类最古老的算法(算术运算)为起点,将各种算法中优美而有代表性的内容囊括书中,并以最前沿的理论(量子算法)结束,构成了较......一起来看看 《算法概论》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

html转js在线工具
html转js在线工具

html转js在线工具