$ go test -v -run TestA select_test.go === RUN TestA --- PASS: TestA (0.00s) select_test.go:6: A === RUN TestAK --- PASS: TestAK (0.00s) select_test.go:10: AK PASS ok command-line-arguments 0.003s TestA 和 TestAK 的测试用例都被执行,原因是-run跟随的测试用例的名称支持正...
执行测试命令(或者使用VSCode的那个run benchmark按钮测试单个函数的benchmark): Linux: go test -bench=. go test -bench=. -benchmem # If memory analysis info is required go test -bench=. -benchtime=3s # If benchmark test time is not 1s, use -benchtime to set it Windows: go test -bench...
如果需要并行,则要在 t.Run 里显式地写明 t.Parallel,才能使这个 subtest 与其他带 t.Parallel 的 subtets 一起并行执行: for_,tt:=rangetests{tt:=tt// 新变量 ttt.Run(tt.name,func(t*testing.T){t.Parallel()// 并行测试t.Logf("name: %s; args: %d; want: %s",tt.name,tt.args.index,...
funcBenchmarkTemplateParallel(b*testing.B){templ:=template.Must(template.New("test").Parse("Hello, {{.}}!"))b.RunParallel(func(pb*testing.PB){// 每个 goroutine 有属于自己的 bytes.Buffer.varbuf bytes.Bufferforpb.Next(){// 所有 goroutine 一起,循环一共执行 b.N 次buf.Reset()templ.Ex...
run := m.Run() //测试后 fmt.Println("结束了!") os.Exit(run) } func TestAdd(t *testing.T) { trueOutput := Add(1, 2) expectOutput := 3 if trueOutput != expectOutput { t.Errorf("Expected %v do not match actual %v", expectOutput, trueOutput) ...
go test 命令还会忽略 testdata 目录,该目录用来保存测试需要用到的辅助数据。 go test 有两种运行模式: 1、本地目录模式,在没有包参数(例如 go test 或 go test -v)调用时发生。在此模式下,go test 编译当前目...
go工具将忽略名为“testdata”的目录,该目录可用来存放测试所需的辅助数据。 作为构建测试二进制文件的一部分,go test会对软件包及其测试文件执行run vet,用于检测其中是否存在重大问题。如果执行go vet阶段发现任何问题,会直接报告这些问题,并且不运行测试文件。检查内容只包括go vet检查的一个子集,包括:'atomic', ...
t.Run("2+3",func(t *testing.T){ val := Sum(2,3) t.Log("2+3=", val) }) }// 子测试,无具体子测试funcTestSumSubTest2(t *testing.T){ val := Sum(2,3) t.Log("no subtest=", val) }// 并发测试funcTestSumParallel(t *testing.T){ ...
-parallel, -run, -short, and -v, 如果出现这些以外的参数,结果不会被缓存,如果你不想使用缓存,建议使用一些不可缓存的参数,最通用的取消缓存的做法是使用-count=1参数,test在根目录打开文件,或者查询环境变量的情况,只有这些参数没有发生变化的时候会被缓存匹配. ...
interface{}) func (c *B) Name() string func (b *B) ReportAllocs() func (b *B) ResetTimer() func (b *B) Run(name string, f func(b *B)) bool func (b *B) RunParallel(body func(*PB)) func (b *B) SetBytes(n int64) func (b *B) SetParallelism(p int) func (c *B...