func TestFunc1(t *testing.T) {
fmt.Println(t.Name())
}
func TestFunc2(t *testing.T) {
fmt.Println(t.Name())
}
func BenchmarkFunc1(b *testing.B) {
for i := 0; i < b.N; i++ {
fmt.Println(b.Name())
}
}
func ExampleFunc1() {
fmt.Println("ExampleFunc1")
}
func TestMain(m *testing.M) {
fmt.Println("TestMain setup")
resCode := m.Run()
fmt.Println("TestMain teardown")
os.Exit(resCode)
}
使用go test -v
执行
如果所有测试均通过测试,则 m.Run 返回0,如果 m.Run 返回1,则代表测试失败。
TestMain 执行时,命令行参数还未解析,如果测试程序需要依赖参数,则可以使用 flag.Parse 解析参数。
m.Run 方法内部还会再次解析参数,并且此处解析参数不会影响测试过程。