`
lavafree
  • 浏览: 535029 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

go语言测试test

    博客分类:
  • go
阅读更多

Go语言通过testing包提供自动化测试功能。包内测试只要运行命令 go test,就能自动运行符合规则的测试函数。
Go语言测试约定规则
1.一般测试func TestXxx(*testing.T)
测试行必须Test开头,Xxx为字符串,第一个X必须大写的[A-Z]的字幕
为了测试方法和被测试方法的可读性,一般Xxx为被测试方法的函数名。

2.性能测试func BenchmarkXxx(*testing.B)
性能测试用Benchmark标记,Xxx同上。

3.测试文件名约定
go语言测试文件名约定规则是必须以_test.go结尾,放在相同包下,为了方便代码阅读,一般go源码文件加上_test
比如源文件my.go 那么测试文件如果交your_test.go,her_test.go,my_test.go都可以,不过最好的还是my_test.go,方便阅读

举例,源文件my.go

package my

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

 创建一个my_test.go文件,需要引入testing

package my

import "testing"

func TestAdd(t *testing.T) {
	if add(1, 2) != 3 {
		t.Error("test foo:Addr failed")
	} else {
		t.Log("test foo:Addr pass")
	}
}

func BenchmarkAdd(b *testing.B) {
	// 如果需要初始化,比较耗时的操作可以这样:
	// b.StopTimer()
	// .... 一堆操作
	// b.StartTimer()
	for i := 0; i < b.N; i++ {
		add(1, 2)
	}
}

 运行测试 go test,输出:

PASS

ok github.com/my 0.010s
要运行性能测试,执行命令
go test -test.bench=".*"
输出
PASS
BenchmarkAdd 2000000000 0.72 ns/op
ok github.com/my 1.528s

更多测试命名,用go help test
go的测试是不是很好很强大!^_^

文章出处: http://blog.gcove.net/go%E8%AF%AD%E8%A8%80%E6%B5%8B%E8%AF%95test.html

分享到:
评论

相关推荐

    消息队列zeromq的go语言测试实例包

    消息队列zeromq的go语言测试实例包,为学习安装部署zeromq的同学提供,注意该安装包中的测试实例为go语言版本,要根据各位安装的zeromq版本下载。

    go_test:go语言测试学习项目

    go_test:go语言测试学习项目

    go语言开发的基本流程.doc

    Go语言内置了测试功能,可以通过编写以_test.go结尾的测试文件来执行测试。 集成测试:集成测试是将各个模块进行整合测试的过程,以确保整个系统的正常运行。 部署与上线:在测试通过后,将代码部署到目标环境,并...

    深入理解Golang的单元测试和性能测试

    前言 大家做开发的应该都知道,在开发程序中很...go语言中自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试,testing框架和其他语言中的测试框架类似,你可以基于这个框架写针对相应函

    gocov, 面向go编程语言的覆盖测试工具.zip

    gocov, 面向go编程语言的覆盖测试工具 gocov面向go编程语言的覆盖报告工具 安装go get github.com/axw/gocov/gocov用法当前有四个gocov命令: test,convert,report 和 annotate 。 gocov测

    Go 语言编写的 Web 框架 Gem.zip

    GemGem 是一个用 Go(golang)语言编写的简单而又快速的 Web 框架,用于构建 restful 或 web 应用,基于 fasthttp。安装go get github.com/go-gem/gem特性Graceful shutdown and restart(热重启)Leveled logging...

    pageRunner:A golang tool for Page Accessible Test. Go语言编写的页面回归测试工具

    Go语言编写的页面回归测试工具. How to use Run the sql,and see the example in page_runner.go. Or run the web example at -&gt; 如何使用 运行sql建表,然后参考page_runner.go中的例子。或者运行web版本的例子 -&gt;

    Go单元测试-testing

    Go语言自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试(T类型)和性能测试(B类型)。testing框架和其他语言中的测试框架类似,你可以基于这个框架写针对相应函数的测试用例,也可以基于该...

    开放容器测试框架oct.zip

    oct 是用于开放容器的测试用例和框架,用 Go 语言开发。ocp-testing 项目的目标是,通过提供全局测试框架给所有的容器项目,来提高开放容器项目。测试包括,ocp 规范,容器功能和容器性能。框架架构:Open Container...

    Go 语言编程 + Go 学习笔记

    Go 语言编程 + Go 学习笔记, 第 部分 语 第 1 章 类型 1.1 变量 1.2 常量 1.3 基本类型 1.4 引 类型 1.5 类型转换 1.6 字符串 1.7 指针 1.8 定义类型 第 2 章 表达式 2.1 保留字 2.2 运算符 2.3 初始化 2.4 控制流 ...

    最小巧的Go测试框架-Golang开发

    Goblin用Go语言编写的Mocha之类的BDD测试框架,不需要其他依赖项。 不需要大量的文档,也不需要复杂的步骤即可运行它。 为什么是地精? 受flexib Goblin的启发使用Go编写的Mocha像BDD测试框架,不需要其他依赖项。 ...

    跨平台测试自动化工具Gauge.zip

    它给作者提供了用商业语言测试用例的能力。关键特性:基于 markdown 的丰富的标记支持用任何程序语言来编写测试代码。在 Test Code 查看当前支持的语言支持 plugin 的模块化架构跨语言实现一致性。简单,灵活和丰富...

    go-tdd:Go中的示例测试驱动开发

    Go中的示例测试驱动开发此回购是对Multy-...如何运行示例我正在使用以Go语言构建的标准测试框架,因此您只需要运行go test 。 要获得更完整的输出,可以使用go test -v -cover 。TODO文件文件表示将逐章的TODO列表。

    全栈Linux服务器开发与Golang DevOps项目开发.zip

    1.1GO语言基础精讲和test方法 1.2Go语言接口与反射 1.3Go语言并发编程 2.1Go语言网络编程和Redis实战 2.2Go语言Web开发与数据库实战 2.3GO微信后台开发实战 3.1流媒体知识精讲和架构设计 3.2工程代码-apidefs结构体...

    一步步教你编写可测试的Go语言代码

    第一个测试 “Hello Test!” 首先,在我们$GOPATH/src目录下创建hello目录,作为本文涉及到的所有示例代码的根目录。 然后,新建名为hello.go的文件,定义一个函数hello() ,功能是返回一个由若干单词拼接成句子: ...

    go-8:用Go语言编写的Chip-8仿真器

    用Go语言编写的Chip-8仿真器。 我尝试学习go-lang是很有趣的,而且我一直对模拟器很着迷,所以我决定用Go编写一个。 我使用以下作为参考。 您将需要ebiten所需的驱动程序,并找到相关的安装说明。 我写了一篇关于...

    gotestsum:“测试”赛跑者,其输出已针对人类进行了优化,用于CI集成的JUnit XML,以及测试结果的摘要

    最好的gotestsum使用go test --json gotestsum运行测试,打印格式化的测试输出以及测试运行的摘要。 它被设计为既适合本地开发又适合CI等自动化。 gotest.tools/gotestsum/testjson ( )是可以被用来读取库输出。 ...

    gocov:Go编程语言的覆盖率测试工具

    Go编程语言的覆盖率报告工具 安装 go get github.com/axw/gocov/gocov 用法 目前有四种gocov命令: test , convert , report和annotate 。 gocov测试 运行gocov test [args...]将运行go test [args...] ,并添加...

    Go程序设计语言

    简介 本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管Alan Do[0no0]van联袂撰写,是[0学0]习Go语言程序设计的指南。本书共13章,主要内容包括:Go的基础[0知0]识、基本结构、基本数据类型、复合数据...

Global site tag (gtag.js) - Google Analytics