-run您可以为工具的参数提供一个虚拟名称,go test并提供您没有与该名称匹配的任何测试,那么只有基准测试应该运行。你很好地涵盖了这一点"^$",你也有一个模式来匹配基准"^BenchmarkLessorRevoke1000$"。问题是您在整个包和/或子目录中使用./....您应该指定要在每个包的基础上运行的基准。go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" .go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg1/go test -run="$^" -bench="^BenchmarkLessorRevoke1000$" ./pkg2/还要注意,如果您确实想大规模运行基准测试,您应该基于每个包进行。为多个包运行基准测试将同时执行它们,从而扭曲您的结果。