go test经验汇总

631 阅读1分钟

单元测试等

go test 代码路径

执行路径下所有Test开头的测试方法

性能测试

go test -v -bench=. -run=^$  代码路径

-bench=. 表示执行所在目录下所有性能测试 -run可以指定执行单元测试,^$表示正则匹配名称为空的方法,也就是排除了所有单元测试,只执行性能测试

func BenchmarkTest(b *testing.B) {
	b.Log("这里执行一些初始化操作")
	//重置计数器
	b.ResetTimer()
    //循环指定的次数
	for i := 0; i < b.N; i++ {
		//需要测试的方法代码
		b.Log(i)
	}
}

执行结果

秒 second 毫秒 millisecond 微秒 microsecond 纳秒 nanosecond

参考文档 go benchmark 性能测试