在我的 Go 包中有幾個基準文件,比如map1_benchmark_test.go和map2_benchmark_test.go. 在每個*_benchmark_test.go文件中,都有不止一個基準函數(shù),例如func BenchmarkMapTravel(b *testing.B)和func BenchmarkMapGet(b *testing.B)。問題是,我怎樣才能只測試一個基準函數(shù)?我試圖閱讀一些手冊,但通過運行g(shù)o help test.
3 回答

紫衣仙女
TA貢獻1839條經(jīng)驗 獲得超15個贊
您無法提供任何標志,它只會運行基準測試(或僅運行一個基準測試)。與這些相關(guān)的唯一標志是:
-bench regexp 運行與正則表達式匹配的基準測試。默認情況下,不運行任何基準測試。要運行所有基準測試,請使用“-bench”?;?'-bench=.'。
-run regexp 只運行那些匹配正則表達式的測試和示例。
因此,如果您只想運行一個基準測試,您可以這樣做:
go test -bench=nameOfYourBenchmark -run=^a
這將導致僅運行以a. 并且因為每個測試都應該命名為Test<something>,所以不會有測試要運行。
僅運行基準測試:
go test -bench=. -run=^a

紅顏莎娜
TA貢獻1842條經(jīng)驗 獲得超13個贊
僅測試TestFuncOne
$>> go test -run TestFuncOne
stuff_to_test.go
TestFuncOne() {
}
TestFuncTwo() {
}
- 3 回答
- 0 關(guān)注
- 235 瀏覽
添加回答
舉報
0/150
提交
取消