Python 覆蓋率是指測量 Python 程式碼的哪些部分在測試期間正在執行。它是確保全面測試覆蓋率的關鍵工具,可以幫助開發人員了解哪些程式碼行經過了測試,哪些程式碼行沒有經過測試。以下更深入地探討如何有效地使用 Python Coverage:
Python 覆蓋入門
- 安裝
您可以使用 pip 安裝覆蓋率模組:
巴什
複製程式碼
pip 安裝覆蓋
- 運行覆蓋率測試
要測量程式碼覆蓋率,您可以透過覆蓋率工具執行測試。這是一個基本範例:
巴什
複製程式碼
覆蓋率運行-m單元測試發現
此命令運行 unittest 發現的所有測試,同時追蹤程式碼覆蓋率。
- 產生覆蓋率報告
運行測試後,您可以產生覆蓋率報告。 Coverage 提供不同的報告格式,包括終端輸出、HTML 和 XML。以下是產生簡單文字報告的方法:
巴什
複製程式碼
報道報告
如需更詳細的 HTML 報告,請使用:
巴什
複製程式碼
覆蓋範圍html
這將建立一個包含覆蓋率報告的 htmlcov 目錄。您可以在瀏覽器中開啟index.html來查看報告。
- 配置覆蓋範圍
您可以在 .coveragerc 檔案中配置覆蓋率設定。這是一個設定範例:
.ini
複製程式碼
[跑步]
分支=真
來源= my_package
[報告]
show_missing = True
• 分支:確保測量分支覆蓋範圍。
• source:指定原始碼目錄。
• show_missing:顯示未執行的行。
- 進階用法
• 排除檔案:若要從覆蓋範圍中排除檔案或目錄,請在.coveragerc 檔案中使用omit 選項:
.ini
複製程式碼
[跑步]
省略=
/測試/
/遷移/
• 合併覆蓋率數據:若要合併多次運行的覆蓋率數據,請使用:
巴什
複製程式碼
覆蓋聯合收割機
• 檢查覆蓋率閾值:設定最小覆蓋率閾值以確保程式碼品質:
巴什
複製程式碼
覆蓋率報告--fail-under=80
如果覆蓋率低於 80%,此命令將使建置失敗。
用法範例
以下是運行覆蓋率測試並產生報告的完整範例:
巴什
複製程式碼
# 安裝覆蓋範圍
pip 安裝覆蓋
運行覆蓋率測試
覆蓋率運作 -m unittest 發現
產生終端報告
覆蓋率報告
產生 HTML 報告
覆蓋 html
結論
Python Coverage 是一個強大的工具,可確保您的測試覆蓋程式碼庫的所有部分。透過將其整合到您的開發工作流程中,您可以提高程式碼品質、儘早發現錯誤並保持高測試覆蓋率標準。快樂編碼!
以上是實際理解Python覆蓋率的詳細內容。更多資訊請關注PHP中文網其他相關文章!