首頁  >  文章  >  後端開發  >  當測試位於單獨的套件中時,如何​​取得套件的準確覆蓋率統計資料?

當測試位於單獨的套件中時,如何​​取得套件的準確覆蓋率統計資料?

Susan Sarandon
Susan Sarandon原創
2024-10-28 20:39:30798瀏覽

How to Obtain Accurate Coverage Stats for a Package When Tests Are in a Separate Package?

在單獨的測試包中測試覆蓋率

當出於組織目的將測試文件分成不同的包時,獲取目標代碼的覆蓋率統計資訊可以成為一個挑戰。這個問題探討了這種情況的解決方法,其中測試包位於 api_client_tests 中,程式碼位於 api_client 中。

問題:

如何準確覆蓋率統計當相關測試位於單獨的包中時,是否為正在測試的 api_client 包獲取?

解決方案:

提供的解決方案涉及使用 go test 命令和-cover 和 -coverpkg 標誌。透過使用 -coverpkg 標誌指定 api_client 套件作為覆蓋目標:

go test -cover -coverpkg "api_client" "api_client_tests"

將專門為 api_client 套件中的程式碼產生覆蓋率統計信息,即使測試位於外部 api_client_tests 中。

替代方法:

雖然上述方法是一個可行的解決方案,但它偏離了典型的Go 約定,即將測試文件與代碼保存在同一個包中。測試。這可能會導致調試和協作困難。

另一種方法,如評論中提到的,是將測試文件簡單地移動到與被測程式碼相同的套件中。這可確保與特定功能或元件相關的所有程式碼都分組在一起,以便於維護。

以上是當測試位於單獨的套件中時,如何​​取得套件的準確覆蓋率統計資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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