首頁 > 後端開發 > Golang > 如何準確取得不同資料夾中的 Go 程式碼覆蓋率?

如何準確取得不同資料夾中的 Go 程式碼覆蓋率?

Barbara Streisand
發布: 2024-11-26 15:29:09
原創
444 人瀏覽過

How Can I Get Accurate Go Code Coverage Across Separate Folders?

在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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板