背景
本文主要介绍golang的一个工具go test
Go语言中自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试,testing框架和其他语言中的测试框架类似,你可以基于这个框架写针对相应函数的测试用例,也可以基于该框架写相应的压力测试用例
go test 单元测试介绍
规则
- 文件名必须是_test.go结尾的,这样在执行go test的时候才会执行到相应的代码
- 你必须import testing这个包
- 所有的测试用例函数必须是Test开头
- 测试用例会按照源代码中写的顺序依次执行
- 测试函数TestXxx()的参数是testing.T,我们可以使用该类型来记录错误或者是测试状态
- 测试格式:func TestXxx (t *testing.T),Xxx部分可以为任意的字母数字的组合,但是首字母不能是小写字母[a-z],例如Testintdiv是错误的函数名。
- 函数中通过调用testing.T的Error, Errorf, FailNow, Fatal, FatalIf方法,说明测试不通过,调用Log方法用来记录测试的信息。
编译方式
- go test . 编译当前文件夹所有test测试用例
- go test -p 编译这个包测试
- go test -v 打印测试信息(默认不打印测试通过信息)
例子
package test