在我的 Go 包中有几个基准文件,比如map1_benchmark_test.go和map2_benchmark_test.go. 在每个*_benchmark_test.go文件中,都有不止一个基准函数,例如func BenchmarkMapTravel(b *testing.B)和func BenchmarkMapGet(b *testing.B)。问题是,我怎样才能只测试一个基准函数?我试图阅读一些手册,但通过运行go help test.
3 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
您无法提供任何标志,它只会运行基准测试(或仅运行一个基准测试)。与这些相关的唯一标志是:
-bench regexp 运行与正则表达式匹配的基准测试。默认情况下,不运行任何基准测试。要运行所有基准测试,请使用“-bench”。或 '-bench=.'。
-run regexp 只运行那些匹配正则表达式的测试和示例。
因此,如果您只想运行一个基准测试,您可以这样做:
go test -bench=nameOfYourBenchmark -run=^a
这将导致仅运行以a. 并且因为每个测试都应该命名为Test<something>,所以不会有测试要运行。
仅运行基准测试:
go test -bench=. -run=^a
红颜莎娜
TA贡献1842条经验 获得超12个赞
仅测试TestFuncOne
$>> go test -run TestFuncOne
stuff_to_test.go
TestFuncOne() {
}
TestFuncTwo() {
}
- 3 回答
- 0 关注
- 216 浏览
添加回答
举报
0/150
提交
取消