如何測量 Go 中的測試覆蓋率
軟體測試中的挑戰之一是確定測試覆蓋被測程式碼的程度。這個指標稱為測試覆蓋率,對於確保測試全面有效至關重要。
Go 的測試覆蓋率能力
在 Go 版本 1.2 及更高版本中,go test指令現在支援測試覆蓋率結果的計算和顯示。要啟用覆蓋率,只需在執行測試時使用 -cover 標誌。
go test -cover
這將產生基本的覆蓋率報告,指示測試覆蓋的語句的百分比。
詳細的覆蓋率分析
有關更詳細的覆蓋率報告,請使用 -coverprofile 標誌指定將包含覆蓋率設定檔的輸出檔。然後可以使用 go tool cover 指令分析此設定檔。
go test -coverprofile=coverage.out go tool cover -html=coverage.out
-html 標誌產生一個 HTML 報告,提供覆蓋範圍的可視化表示,突出顯示未覆蓋的行。
黑盒測試
測量黑盒測試的覆蓋率(無法訪問內部狀態的測試)包),使用 -coverpkg 標誌。此標誌指定應偵測覆蓋率的包。
go test -coverprofile=.coverage.html -coverpkg=your/pkg your/pkg/pkg_test
最近的增強
在 Go 1.20 中,整合測試現在可以包含在覆蓋率分析中。 go build -cover 指令可用於建構覆蓋率偵測的二進位。然後可以在整合測試中使用這些二進位檔案來擴展覆蓋測試的範圍。
以上是如何衡量 Go 中的測試覆蓋率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!