当我在这个存储库(只是任何 go 项目的占位符)上运行基准测试时,使用: go test -run="^$" -bench="^BenchmarkLessorRevoke1000$" ./...我得到的输出是这个,基准结果显示:BenchmarkLessorRevoke1000-8 1033351 1141 ns/op而且还有一大堆其他的测试输出。如何让它只显示基准而不是测试输出?
1 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
-run您可以为工具的参数提供一个虚拟名称,go test并提供您没有与该名称匹配的任何测试,那么只有基准测试应该运行。
你很好地涵盖了这一点"^$",你也有一个模式来匹配基准"^BenchmarkLessorRevoke1000$"。
问题是您在整个包和/或子目录中使用./....
您应该指定要在每个包的基础上运行的基准。
go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" .
go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg1/
go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg2/
还要注意,如果您确实想大规模运行基准测试,您应该基于每个包进行。
为多个包运行基准测试将同时执行它们,从而扭曲您的结果。
- 1 回答
- 0 关注
- 104 浏览
添加回答
举报
0/150
提交
取消