go-test知识点

  • 命令 go test 或 go test -v

  • 文件名必须以_test.go的格式命名

  • 使用t.Run来执行可实现顺序执行

  • testing.m 初始化test,如果有testing.m则其他方法都不会执行,必须使用m.Run才会执行其他方法

  • benchMark 性能测试,命令:go test -bench=.

    b.N会不断的调整

代码示例:

package main

import (
    "fmt"
    "testing" ) func TestMain(m *testing.M) { fmt.Println("初始化") m.Run() } func TestAll(t *testing.T) { t.Run("TestEchoHello1", testEchoHello1) t.Run("TestEchoHello3", testEchoHello3) t.Run("TestEchoHello2", testEchoHello2) } func testEchoHello1(t *testing.T) { fmt.Println("TestEchoHello1") EchoHello() } func testEchoHello2(t *testing.T) { fmt.Println("TestEchoHello2") EchoHello() } func testEchoHello3(t *testing.T) { fmt.Println("TestEchoHello3") EchoHello() } func BenchmarkEchoHello(b *testing.B) { for i:=0;i//查看b.N的变化 func BenchmarkEchoHello1(b *testing.B) { count := 0 for i:=0;iif i==0 { fmt.Println(b.N) } count ++ } fmt.Println("count:",count) }

 

你可能感兴趣的:(go-test知识点)