golang 的testing.T 和 testing.M 的区别

作者: adm 分类: go 发布时间: 2022-10-02

testing.T 是普通测试包 :

func TestUser(t *testing.T){
    fmt.Println("main 测试")
    t.Run("开始测试第一个子测试函数:", testAddUser)
}
 
func testAddUser(t *testing.T){
    fmt.Println(""sub 1 测试)
}
 
-------------------------
cmd:
/gopath/src/project/:  go test -v
 

testing.M函数可以在测试函数执行之前做一些其他操作

func TestMain(m *testing.M){
    fmt.Println("测试执行第一步: main开始测试,是在测试之前执行的")
    m.Run()
}
 
func TestUser(t *testing.T){
    fmt.Println("main 测试")
    t.Run("测试执行第二步:开始测试第一个子测试函数:", testAddUser)
}
 
func testAddUser(t *testing.T){
    fmt.Println("测试执行第三步:sub 1 测试")
}
 
-------------------------
cmd:
/gopath/src/project/:  go test -v
 

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!