首頁 >後端開發 >Golang >如何準確衡量 Go 整合測試的覆蓋率?

如何準確衡量 Go 整合測試的覆蓋率?

Barbara Streisand
Barbara Streisand原創
2024-11-08 20:40:01467瀏覽

How Can I Accurately Measure Coverage in Go Integration Tests?

測量Go 整合測試中的測試覆蓋率

在Go REST API 上進行整合測試時,使用go test -cover 可能會產生誤導0% 測試覆蓋率。這是因為 go 工具 cover 無法辨識駐留在服務包之外的測試。

然而,-coverpkg 指令提供了一種解決方案,透過測量特定套件內的測試覆蓋率,無論是否測試屬於該套件。這允許準確的服務包覆蓋率報告,例如:

$ go test -cover -coverpkg mypackage ./src/api/...
ok      /api    0.190s  coverage: 50.8% of statements in mypackage
ok      /api/mypackage   0.022s  coverage: 0.7% of statements in mypackage

相反,使用go test -cover 將報告:

$ go test -cover ./src/api/...
ok      /api    0.191s  coverage: 71.0% of statements
ok      /api/mypackage   0.023s  coverage: 0.7% of statements

這證明了-coverpkg 的有效性將覆蓋率測量隔離到所需的包,在本例中為mypackage。儘管這可能不是整合測試覆蓋率的最佳方法,但它提供了對特定模組的程式碼覆蓋率的寶貴見解。

以上是如何準確衡量 Go 整合測試的覆蓋率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn