2 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊
我沒有直接的答案,但我遇到了類似的問題,也許我的過程可以幫助您解決問題。
首先,是你的朋友。Go 文檔、參考和 Go 一般都是關(guān)于提高你的工作效率。因此,Go團(tuán)隊(duì)投入了大量精力來解釋好事情。go help
go help test是開始獲取有關(guān)標(biāo)志信息的好地方,但它沒有列出 .然而,它確實(shí)指出:-coverpkggo help testflag
測(cè)試二進(jìn)制文件還接受控制測(cè)試執(zhí)行的標(biāo)志;這些標(biāo)志也可以通過“go test”訪問。有關(guān)詳細(xì)信息,請(qǐng)參閱“轉(zhuǎn)到幫助測(cè)試標(biāo)志”。
go help testflag有這樣說的:-coverpkg
-coverpkg pattern1,pattern2,pattern3
Apply coverage analysis in each test to packages matching the patterns.
The default is for each test to analyze only the package being tested.
See 'go help packages' for a description of package patterns.
Sets -cover.
強(qiáng)調(diào)“默認(rèn)是每個(gè)測(cè)試僅分析正在測(cè)試的包”,這意味著如果我依賴于包函數(shù),如果我逐個(gè)包地工作,我可能會(huì)遇到問題。init()
如果你想遵循單獨(dú)運(yùn)行每個(gè)包的建議,你可以在模塊的根目錄中使用獲取所有包的列表,然后使用一些shell腳本來循環(huán)訪問它們。coverpkggo list ./...
最終,在我的情況下,我推斷出這是逐個(gè)測(cè)試每個(gè)包,因此可能逐個(gè)加載包。因此,我能夠?qū)栴}范圍縮小到包的功能。不知道為什么它會(huì)導(dǎo)致問題,但是從函數(shù)中移出幾行可以進(jìn)入函數(shù),解決了我的問題。-coverpkginit()init()main()
(我也很幸運(yùn),錯(cuò)誤消息很容易谷歌,我知道它與CLI標(biāo)志解析有關(guān)。請(qǐng)參閱在測(cè)試文件中使用主銷)
- 2 回答
- 0 關(guān)注
- 223 瀏覽
添加回答
舉報(bào)