Changelog

5.1.0 (2024-09-??)

  • 更新文件中的各種不正確處,特別是關於子處理程序處理。

  • 變更 fail 檢查內容,以使用涵蓋率配置中設定的精度。現在,執行方式會像 coverage report 一樣。

5.0.0 (2024-03-24)

  • 移除對 xdist rsync 的支援(現已棄用)。由 Matthias Reichenbach 貢獻,收錄於 #623

  • 轉換文件主題為 Furo。

  • 清理各種舊版 Python 和 CI 改進。由 Christian Clauss 和 Hugo van Kemenade 貢獻,收錄於 #630#631#632#633

  • 在文件中新增一個 pyproject.toml 範例。由 Dawn James 貢獻,收錄於 #626

  • 將專案的 pre-commit 鉤子現代化為使用 ruff。由 Christian Clauss 貢獻 POC,收錄於 #584

4.1.0 (2023-05-24)

  • 使用新 Python 和依賴關係更新 CI。

  • 移除 rsyncdir 支援。這讓 pytest-cov 與 xdist 3.0 相容。由 Sorin Sbarnea 貢獻,收錄於 #558

  • 最佳化摘要產生,若沒有作用中回報(例如:--cov-report='',未與 --cov-fail-under 一起使用)時不會執行。由 Jonathan Stewmon 貢獻,收錄於 #589

  • 新增對 JSON 回報的支援。由 Matthew Gamble 貢獻,收錄於 #582

  • 將程式碼重構為使用 f 字串。由 Mark Mayo 貢獻,收錄於 #572

  • 修正測試套件中跳過部分舊 xdist 的錯誤。由多人在 #565 中貢獻。

4.0.0 (2022-09-28)

請注意,這個版本已取消對多處理的支持。

  • –cov-fail-under 不再會導致 pytest –collect-only 失敗 由 Zac Hatfield-Dodds 貢獻,收錄於 #511

  • 取消對多處理的支持(主要因為 issue 82408)。這項功能基本上都有作用,但在某些情況下會損壞,讓測試套件非常不穩定且緩慢。

    coverage 中有內建的多處理支援,你可以轉移到它。你只需要在 .coveragerc 中新增以下內容即可:

    [run]
    concurrency = multiprocessing
    parallel = true
    sigterm = true
    
  • setup.py 中修正過時內容,方法是在 distutils 之前先嘗試導入 setuptools。由 Ben Greiner 貢獻,收錄於 #545

  • 在報告功能停用時移除顯示不必要的換行字元。由 Delgan 提供,詳見 #540

  • 文件修正。由 Andre Brisco 提供,詳見 #543,以及 Colin O’Dell 提供,詳見 #525

  • 新增透過 –cov-report=lcov 支援 LCOV 輸出格式。僅適用於 6.3+ 的覆蓋率。由 Christian Fetzer 提供,詳見 #536

  • 現代化 pytest 鉤子實作。由 Bruno Oliveira 提供,詳見 #549,以及 Ronny Pfannschmidt 提供,詳見 #550

3.0.0(2021-10-04)

請注意,這個版本不再支援 Python 2.7 和 Python 3.5。

  • 新增支援 Python 3.10,並更新不同測試相依性。由 Hugo van Kemenade 提供,詳見 #500

  • 從 Travis CI 轉換為 GitHub Actions。由 Hugo van Kemenade 提供,詳見 #494#495

  • 新增 --cov-reset CLI 選項。由 Danilo Šegan 提供,詳見 #459

  • 提升 --cov-fail-under CLI 選項驗證。由…Ronny Pfannschmidt 渴望了解 skark 提供,詳見 #480

  • 移除 Python 2.7 支援。由 Thomas Grainger 提供,詳見 #488

  • 更新 trove 分類。由 Michał Bielawski 提供,詳見 #481

  • 還原 toml 需求變更。由 Thomas Grainger 提供,詳見 #477

2.12.1(2021-06-01)

  • toml 需求變更為直接要求(而非透過涵蓋範圍的額外部分來要求)。這修正了 pip-compile 的問題(pip-tools#1300)。由 Sorin Sbarnea 提供,詳見 #472

  • 文件撰寫 show_contexts。由 Brian Rutledge 提供,詳見 #473

2.12.0(2021-05-14)

  • 於 setup.py 中新增涵蓋範圍的 toml 額外部分,以安裝需求。由 Christian Riedel 提供,詳見 #410

  • 修正 pytest_cov.__version__ 具有正確的值(字串版本,而非包含 __version__ = 的字串)。

  • 修正 setup.py 中的授權分類。由 Chris Sreesangkom 提供,詳見 #467

  • 修正 自承諾以來 徽章。由 Terence Honles 提供,詳見 #470

2.11.1(2021-01-20)

  • 修正對較新的 setuptools(v42+)的支援。由 Michał Górny 提供,詳見 #451

2.11.0(2021-01-18)

  • 提升涵蓋範圍最小需求至 5.2.1。這可防止發生報告問題。由 Mateus Berardo de Souza Terra 提供,詳見 #433

  • 精進範例專案(源自 範例 目錄)以支援執行 tox -e pyXY。範例目前設定含有字尾的覆蓋率資料檔,因此不需要清除環境。在 #435 由 Ganden Schaffner 貢獻。

  • 移除空白 console_scripts 入口點讓 Gentoo 建置腳本的困惑降低。我不詢問為何如此地損壞,因為我不希望浪費自己的時間。在 #434 由 Michał Górny 貢獻。

  • 修正使用子程序時缺少的 覆蓋率背景。在 #443 由 Bernát Gábor 貢獻。

  • 更新文件中的設定區段。在 #429 由 Pamela McA’Nulty 貢獻。

  • 將 CI 遷移至 travis-ci.com(從 .org)。

2.10.1 (2020-08-14)

  • 支援 pytest-xdist 2.0,打破 1.22.3(2017 年)之前的 pytest-xdist 相容性。在 #412 由 Zac Hatfield-Dodds 貢獻。

  • 修正使用內嵌模式中的 pytester 外掛程式時發生的 LocalPath has no attribute startswith 失敗。

2.10.0 (2020-06-12)

  • 改進 --no-cov 警告。現在僅當在 --cov 之前存在 --no-cov 時才會顯示。

  • 移除過時的 pytest 支援,變更 setup.py 以便需要 pytest>=4.6

2.9.0 (2020-05-22)

  • 在 Pytest 3.10 中使用時修正 RemovedInPytest4Warning。在 #354 由 Michael Manganiello 貢獻。

  • 透過延遲匯入讓 pytest 啟動更快速(當外掛程式未啟用時),在 #339 由 Anders Hovmöller 貢獻。

  • 多項 CI 改進。在 #363#364 由 Daniel Hahler 貢獻。

  • 多項 Python 支援更新(停止 EOL 3.4,測試 3.8 最終版)。在 #336#367 由 Hugo van Kemenade 貢獻。

  • 變更 --cov-append 以持續啟用 data_suffix(覆蓋率設定)。在 #387 由 Harm Geerts 貢獻。

  • 變更 --cov-append 以更妥善地處理載入先前資料(修正多種路徑別名問題)。

  • 多項其他測試改進、github 問題範本、範例更新。

  • 修正由於測試合更目前工作目錄而造成的內部失敗,方法是確保在呼叫覆蓋率時工作目錄會維持一致。請參閱 #306coveragepy#881

2.8.1 (2019-10-05)

  • 已修正 #348 - 當僅使用部分報表(html 或 xml)時發生回歸,則 --cov-fail-under 永遠無法通過。

2.8.0 (2019-10-04)

  • 已修正當使用 cleanup_on_signalcleanup_on_sigterm 時可能發生的 RecursionError。請參閱: #294。pytest-cov 的 2.7.x 版本應視為已中斷,且與上述的清理 API 有關。

  • 已新增與未公開一些內部元件的未來 xdist 版本相容性(比照 pytest-xdist master/worker 術語)。由 Thomas Grainger 在 #321 貢獻。

  • 已修正在使用多個報告選項時發生的中斷。由 Thomas Grainger 在 #338 貢獻。

  • 已變更內部元件,以使用一個存根而非 os.devnull。由 Thomas Grainger 在 #332 貢獻。

  • 已新增對 Coverage 5.0 的支援。由 Ned Batchelder 在 #319 貢獻。

  • 已新增對 --cov-fail-under 中浮點數值的支持。由 Martín Gaitán 在 #311 貢獻。

  • 各種文件修正。由 Juanjo Bazán、Andrew Murray 和 Albert Tugushev 在 #298#299#307 貢獻。

  • 各種測試改善。由 Ned Batchelder、Daniel Hahler、Ionel Cristian Mărieș 和 Hugo van Kemenade 在 #313#314#315#316#325#326#334#335 貢獻。

  • 已新增 --cov-context CLI 選項,可啟用涵蓋率脈絡。僅與 coverage 5.0+ 搭配使用時有效。由 Ned Batchelder 在 #345 貢獻。

2.7.1 (2019-05-03)

  • 已修正來源散發清單,使垃圾未包含在 tarball 中。

2.7.0 (2019-05-03)

  • 已修正使用 --no-cov 時發生的 AttributeError: 'NoneType' object has no attribute 'configure_node' 錯誤。由 Alexander Shadchin 在 #263 貢獻。

  • 各種測試和 CI 改善。由 Daniel Hahler 在 #255#266#272#271#269 貢獻。

  • 已改善 pytest_cov.embed.cleanup_on_sigterm,使其具備重新進入性(執行訊號處理時發出的訊號不會中斷作業)。

  • 已新增 pytest_cov.embed.cleanup_on_signal,供自訂清理使用。

  • 改善清理代碼,修正各種殘留資料檔的問題。由 #265#262 中的貢獻者負責。

  • 改善範例。現在對於常見的專案配置,提供兩個範例,並搭配工作中的覆蓋率配置。這些範例有 CI 測試。由 #267 中的貢獻者負責。

  • 改善 CLI 選項的說明文字。

2.6.1 (2019-01-07)

  • 新增支援 Pytest 4.1。由 Daniel Hahler 和 Семён Марьясин 在 #253#230 中負責貢獻。

  • 進行各種測試和文件修正。由 Daniel Hahler 在 #224#223 中負責貢獻。

  • 修正「模組已匯入」問題 (#211)。由 Daniel Hahler 在 #228 中負責貢獻。

2.6.0 (2018-09-03)

  • 不再支援 Python 3 < 3.4、Pytest < 3.5 和 Coverage < 4.4。

  • 修正一些文件格式。由 Jean Jordaan 和 Julian 負責貢獻。

  • 新增一個包含文件中的 addopts 範例。由 Samuel Giffard 在 #195 中負責貢獻。

  • 修正某些 xdist 配置中的 TypeError: 'NoneType' object is not iterable。由 Jeremy Bowman 在 #213 中負責貢獻。

  • 新增 no_cover 標記和夾具。修正 #78

  • 修正執行 doctest 時 no_cover 檢查中斷的問題。由 Terence Honles 在 #200 中負責貢獻。

  • 修正報表中路徑標準化相關的各種問題(並行模式下合併覆蓋率資料時)。修正 #130。由 Ryan Hiebert 和 Ionel Cristian Mărieș 在 #178 中負責貢獻。

  • 產生報表失敗不會再觸發例外。將會登錄警告。修正 #161

  • 修正 Windows 上的多處理問題(未傳遞空白環境變數)。修正 #165

2.5.1 (2017-05-11)

  • 修正 xdist 中斷(2.5.0 中的回歸)。修正 #157

  • 允許在 .coveragerc 中設定自訂 data_file 名稱。修正 #145。由 Jannis Leidel 和 Ionel Cristian Mărieș 在 #156 中負責貢獻。

2.5.0 (2017-05-09)

  • 當使用 --cov-fail-under 時,總是顯示摘要。由 Francis Niu 在 PR#141 中負責貢獻。

  • 新增 --cov-branch 選項。修正 #85

  • 改善子程序設定中的例外處理。修正 #144

  • --cov 被使用多次時,修復處理問題。修復 #151

2.4.0 (2016-10-10)

  • 新增一個「解除」選項:--no-cov。它會停用程式碼覆蓋率測量。貢獻者為 Zoltan Kozma,請見 PR#135

    警告:不要將它放入設定檔,它僅用於想從命令提示停用程式碼覆蓋率的單次情況。

  • 修復處理 .pth 檔案時,例外處理過程發生問題。請見 #136

2.3.1 (2016-08-07)

  • 修復迴歸問題,在使用 xdist 時引發偽錯誤。請見 #124

  • 修復關於錯誤 addoption 使用方式的廢棄警告。貢獻者為 Florian Bruhin,請見 PR#127

  • 修復 funcarg 固定裝置 API 停用使用方法。貢獻者為 Daniel Hahler,請見 PR#125

2.3.0 (2016-07-05)

  • 新增支援,用於指定 html、xml 和註解報告的輸出位置。貢獻者為 Patrick Lannigan,請見 PR#113

  • 修復當 cov-fail-under 失敗時,會隱藏測試失敗的錯誤。

  • 對於程式碼覆蓋率大於等於 4.0,和 coverage report 的預設行為一致,如果程式碼覆蓋率偵測不到來源,則會產生錯誤,而不是只顯示警告。貢獻者為 David Szotten,請見 PR#116

  • 修復當使用空 --cov 參數搭配 xdist 時所發生的錯誤。貢獻者為 Michael Elovskikh,請見 PR#120

  • 新增支援 skip_covered 和新增 --cov-report=term-skip-covered 命令提示選項。貢獻者為 Saurabh Kumar,請見 PR#115

2.2.1 (2016-01-30)

  • 當使用 xdist 而且程式碼覆蓋率大於等於 4.0 時,修復程式碼覆蓋率資料合併不正確的問題。

2.2.0 (2015-10-04)

  • 新增支援,可在測試中變更工作目錄。先前變更工作目錄會在子處理序停用程式碼覆蓋率測量。

  • 修復處理 --cov-report=annotate 時發生問題。

2.1.0 (2015-08-23)

  • 新增支援 coverage 4.0b2

  • 新增 --cov-append 命令提示選項。貢獻者為 Christian Ledermann,請見 PR#80

2.0.0 (2015-07-28)

  • 新增 `--cov-fail-under`,類似 `cite{coverage-4.0}` 中新的 `fail_under` 選項(只要 `[report] fail_under = ...` 出現在 `.coveragerc` 中就會自動啟動)。

  • --cov-report=term 變更為自動升級至 --cov-report=term-missing,只要 [run] show_missing = True 出現在 .coveragerc 中。

  • 已更改 --cov,因此可在沒有路徑引數的情況下使用(在此情況下,會使用 .coveragerc 中的來源設定)。

  • 已修正 .pth 安裝,如此一來適用於所有情況(安裝、easy_install、輪盤、開發等)。

  • 已修正 .pth 安裝解除,如此一來適用於輪盤安裝。

  • 支援涵蓋範圍 4.0。

  • 資料檔字尾已變更,以使用 coverage 的 data_suffix=True 選項(而不是自訂字尾)。

  • 避免顯示有關缺少涵蓋範圍資料的警告訊息(就像 coverage.control.process_startup)。

  • 修正與 xdist 一起執行時的競爭狀態(所有工作人員都嘗試結合檔案)。此問題可能不存在於 pytest-cov 1.8.X 中。

1.8.2 (2014-11-06)

  • 不適用