go test
testing 是go中自动测试的包, 直接import就可以使用, 使用时需要注意以下规范
执行测试函数的文件必须以 _test.go 结尾, 注意下划线
单元测试函数名必须以 Test 开头, 并且Test后的第一个字符要大写, 函数的参数只能有一个 *testing.T
基准测试必须以 Benchmark 开头, 同样Benchmark后的第一个字符要大写, 函数的参数也只有一个 *testing.B
package main import (
"testing"
) func TestAdd(t *testing.T) { //函数名必须以"Test" 开头, Test后的第一个字符"A"必须要大写, 参数只有一个, 没有返回值
a, b := 10, 20
c := Add(a, b)
if c != 30 {
t.Fatalf("c========%d", c) //实际返回值与预期返回值不一样(业务函数错误), Fatal输出日志, 并且会直接退出函数
}
t.Log("Add pass.................") //Log不会退出函数
} func BenchmarkAdd(b *testing.B) { //规范基本与Test相同
a, d := 10, 20
for i := 0; i < b.N; i++ {
Add(a, d)
}
} -----------------Add函数--------------------
func Add(a, b int) (sum int) {
sum = a + b
return
}
随机推荐
- Vue-Socket.io
github地址:https://github.com/MetinSeylan/Vue-Socket.io 安装: npm install vue-socket.io -S 注册: import Vu ...
- HTML5元素2
用于分组的元素 元素 说明 类型 HTML5与其他的变化 blockquote 表示引自他处的大段内容 流 无变化 dd 用在dl元素之中,表示定义 无 无变化 div 一个没有任何既定语义的通用元素 ...
- Java开发工程师学习路线
贴一个比较出名的Java开发工程师学习路线图 好好学习提升中 这个貌似也不是特别全,算法,设计模式,架构好像都没有
- scrapy中对于item的把控
其实很简单,就是想要存储的位置发生改变.直接看例子,然后触类旁通. 以大众点评 评论的内容为例 ,位置:http://www.dianping.com/shop/77489519/review_mor ...
- centos6.5/6.3升级安装ImageMagick7.0.1-1
线上论坛和应用程序的验证码功能都是使用的ImageMagick,但是版本比较老(centos yum安装的ImageMagick6.5.9).接到最新漏洞预报,紧急升级! ImageMagick图象处 ...
- Vue.js学习笔记(一) - 起步
本篇将简单介绍一下Vue.js,并在Node.js环境下搭建一个简单的Demo. 一.简介 我个人理解,Vue.js是一套前端视图层的框架,它只关心视图展示和数据绑定,它的一些语法与Angular 1 ...
- 【51nod】1061 最复杂的数 V2
题解 我是榜上最后一名= = 可能高精度用vector太慢了吧--什么破题= = 这道题很简单,如果高精度熟练代码--也很简单--然而,参数调了好久 我们发现质数的指数一定是,质数越小,指数越大,这个 ...
- GTK, GTK+, Qt, KDE, GNOME, Unity的区别与联系
GTK,GTK+, Qt是图形界面开发库(GUI Toolkit),用户可以使用这些开发库编写GUI应用,其中GTK+是GTK的升级版. KDE,GNOME,Unity是linux下的桌面环境(Des ...
- Hibernate or JPA Annotation中BLOB、CLOB注解写法
BLOB和CLOB都是大字段类型,BLOB是按二进制字节码来存储的,而CLOB是可以直接存储字符串的. 在hibernate or JPA Annotation中,实体BLOB.CLOB类型的注解与普 ...
- spring boot mybatis 多数据源配置
package com.xynet.statistics.config.dataresources; import org.springframework.jdbc.datasource.lookup ...