一、go test 命令格式
1 测试代码包(文件)
go test 测试多个文件时,路径之间以空格分隔。
例:go test AAA BBB /home/CCC
2 指定单个代码文件
与指定源码文件进行编译或运行一样,命令程序会为指定的源码文件生成一个虚拟代码包——“command-line-arguments”会报编译错误。因为这个测试源码文件中使用了库源码文件gridManage.go中的函数。但是,它却没有显示导入这个库源码文件所属的代码包。
$ go test gridManage_test.go
\# command-line-arguments [command-line-arguments.test]
.\gridManage_test.go:9:11: undefined: NewGridManger
.\gridManage_test.go:12:10: undefined: Grid
FAIL command-line-arguments [build failed]
因为这个测试源码文件中使用了库源码文件gridManage.go中的函数。但是,它却没有显示导入这个库源码文件所属的代码包。
解决方法:在测试文件后指定源文件
go test gridManage_test.go gridManage.go
3。执行该路径下所有测试文件
go test
二、注意点
1.测试源码文件以“_test.go”结尾
2.go test 测试函数一般是以“Test”为名称前缀并有一个类型为“testing.T”的参数声明的函数.例:
func TestNewGrid(t *testing.T)
Test函数的命名规则是TestXxx,Test后面的函数要以大写开头
3.必须import "Testing"这个包(一般编辑器会自动导入)
4.测试用例会按照源代码中写的顺序依次执行
5.函数中通过调用testing.T 的 Error, Errorf, FailNow, Fatal, FatalIf方法,说明测试不通过,调用Log方法用来记录测试的信息。
t.Error("预期值不同!")
t.Log("测试通过了")
6.当执行多个测试函数时,添加 -v 选项显示每一个函数执行的过程
go test -v xxx_test.go