一、规则
1、测试文件必须以 _test.go
结尾
2、测试函数名必须以 TestXxxxx
开始(Xxxx为对应的需要测试的函数)
3、使用 go test
命令开启测试
文件名以
_test
结尾,函数以Test
开头,在执行 go test 命令时会自动匹配测试文件很执行测试函数
二、约定
1、有时候我们将测试文件(以_test.go 结尾的文件)放在需要测试的源文件同个目录(包)下,但更好的做法是专门创建一个包用于测试,一般约定包目录以_test
结尾(如测试 xxx 包时我们可以建一个 xxx_test 包)
三、示例
源文件目录结构
|src
|---mypkg
|------myunit.go
package mypkg
func Myadd(x,y int) int{
return x + y
}
测试文件目录结构
|src
|---mypkg_test
|------myunit_test.go
package mypkg_test
import (
"mypkg"
"testing"
)
func TestMyadd(t *testing.T) {
a := 4
b := 5
realValue:= 9
ac := mypkg.Myadd(a, b)
if ac != realValue{
t.Errorf("Add(%d,%d)=%d,realValue=%d", a, b, ac, realValue)
}
}
t.Errorf 用于提示错误信息,用于程序未到达设想结果时进行报错提示,如果程序执行到这一步,go test 会提示不成功,并且输出这个错误信息
执行 go test (进入 mypkg_test 包目录)
C:\liuming\code\gocode\src\mypkg_test>go test
PASS
ok mypkg_test 0.635s
有疑问加站长微信联系(非本文作者)