首頁 >後端開發 >Golang >跨單獨的 Go 套件執行整合測試時如何實現準確的程式碼覆蓋率?

跨單獨的 Go 套件執行整合測試時如何實現準確的程式碼覆蓋率?

Susan Sarandon
Susan Sarandon原創
2024-12-12 13:16:09860瀏覽

How Can I Achieve Accurate Code Coverage When Running Integration Tests Across Separate Go Packages?

跨套件測試程式碼覆蓋率

在單獨的套件中執行整合測試時,實現準確的程式碼覆蓋率可能具有挑戰性。預設情況下,測試僅分析正在測試的套件。

在您的範例中,整合測試位於「itest」套件中,而被測試的程式碼位於「hello」套件中。使用 go test -v -coverpkg ./... ./itest 執行測試會導致 0% 覆蓋率,因為測試覆蓋率僅限於「itest」套件。

要獲得全面的程式碼覆蓋率,- coverpkg 標誌必須包含包含被測程式碼的套件。正確的命令是:

go test -v -coverpkg ./... ./...

透過此修改,測試將分析「hello」和「itest」包,提供預期的覆蓋結果。

以上是跨單獨的 Go 套件執行整合測試時如何實現準確的程式碼覆蓋率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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