在Golang 中偵測跨單獨資料夾的程式碼覆蓋率
結構如下的專案:
stuff/stuff.go -> package: stuff test/stuff/stuff_test.go -> package: test
當執行stuff_test,stuff.go 的程式碼覆蓋率報告為0.0%。將 *_test.go 移入 stuff 資料夾解決了該問題,但它引發了有關專案結構和 Go 最佳實踐的問題。
透過 -coverpkg 標誌解決
至要在不修改項目結構的情況下解決這種情況,請使用 -coverpkg 標誌。此標誌允許指定要包含在覆蓋率分析中的套件。
對於給定的專案結構,指令變成:
go test ./test/... -coverprofile=cover.out -coverpkg ./...
此指令分析./test/. .. 覆蓋範圍資訊的路徑,包括符合./....
產生並查看覆蓋範圍的包裝報告
執行測試後,使用go tool cover 產生覆蓋率報告:
go tool cover -html=cover.out
這將建立一個 HTML 報告,詳細說明所分析包的覆蓋率信息,提供深入了解專案資料夾中的程式碼覆蓋率。
以上是如何準確取得不同資料夾中的 Go 程式碼覆蓋率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!