1. 测试范围
默认运行所有在目录下xxx_test.go
的测试文件
而且只对以Testxxx(t tesing.T)
的函数进行测试
可以通过指定特定的文件或参数(正则匹配)来运行特定的测试文件以及特定的函数
2.运行参数
go test
忽略log信息
go test -v
冗长模式, 打印实时的log信息
3. 测试过程控制
虽然可以用 fmt.printf
etc打印信息, 但无法进行log信息与测试内容的分类控制(-v 无效)
强烈建议用
t.Log t.Logf
// 正常信息
t.Error t.Errorf
// 测试失败信息
t.Fatal t.Fatalf
// 致命错误, 测试程序退出的信息
t.Fail //当前测试标记为失败
t.Failed //查看失败标记
t.FailNow// 标记失败, 并终止当前测试函数的执行(需要注意的是,我们只能在运行测试函数的Goroutine中调用
//t.FailNow方法,而不能在我们在测试代码创建出的Goroutine中调用它。
t.Skip //调用t.Skip方法相当于先后对t.Log和t.SkipNow方法进行调用,而调用t.Skipf方法则相当于先后对 //t.Logf和t.Skip-Now方法进行调用。方法t.Skipped的结果值会告知我们当前的测试是否已被忽略。
t.Parallel // 标记为可并行运算