如何測量Go 中獨立資料夾的程式碼覆蓋率
在Go 中,測量駐留在單獨資料夾中的包的程式碼覆蓋率可能具有挑戰性。考慮以下項目結構:
stuff/stuff.go -> package: stuff test/stuff/stuff_test.go -> package: test
即使stuff_test.go 執行stuff.go 中的程式碼,覆蓋率報告也可能顯示:
coverage: 0.0% of statements
這是因為go test -cover by預設僅分析正在測試的套件,而不分析其依賴項。
要解決此問題,您可以使用 -coverpkg 選項指定應考慮哪些套件用於覆蓋率分析。例如,以下命令將包含目前目錄下的所有套件:
go test ./test/... -coverprofile=cover.out -coverpkg ./...
測試執行完成後,您可以使用以下命令產生覆蓋率報告:
go tool cover -html=cover.out
這將提供項目程式碼覆蓋率的詳細報告,包括單獨資料夾中的套件的覆蓋率。
以上是如何實現隔離包的Go程式碼準確覆蓋?的詳細內容。更多資訊請關注PHP中文網其他相關文章!