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