变更日志

5.1.0 (2024-09-??)

  • 更新了各种文档不准确之处,尤其是在子进程处理方面。

  • 更改了失败检查以使用覆盖率配置中设置的精度。现在,它将执行与 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 中贡献。

  • 将项目的预提交钩子现代化为使用 ruff。最初的 POC 由 Christian Clauss 在 #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
    
  • 通过尝试在 distutils 之前导入 setuptools 来修复 setup.py 中的弃用。由 Ben Greiner 在 #545 中贡献。

  • 删除了在禁用报告时显示的不需要的换行符。由 Delgan 在 #540 中贡献。

  • 文档修复。由 Andre Brisco 在 #543 和 Colin O’Dell 在 #525 中贡献。

  • 通过 –cov-report=lcov 添加了对 LCOV 输出格式的支持。仅适用于 coverage 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 中添加了 coverage 的 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 中贡献。

  • 改进了示例项目(来自 examples 目录)以支持运行 tox -e pyXY。现在,示例配置了后缀覆盖率数据文件,这使得清理环境变得不必要。由 Ganden Schaffner 在 #435 中贡献。

  • 删除了使某些 Gentoo 构建脚本感到困惑的空 console_scripts 入口点。我没有问为什么它会如此崩溃,因为我不想毁掉我的一天。由 Michał Górny 在 #434 中贡献。

  • 修复了在使用子进程时缺少的 coverage 上下文。由 Bernát Gábor 在 #443 中贡献。

  • 更新了文档中的配置部分。由 Pamela McA’Nulty 在 #429 中贡献。

  • 将 CI 迁移到 travis-ci.com(从 .org)。

2.10.1 (2020-08-14)

  • 支持 pytest-xdist 2.0,这会破坏与 pytest-xdist 1.22.3 之前的版本(来自 2017 年)的兼容性。由 Zac Hatfield-Dodds 在 #412 中贡献。

  • 修复了在内联模式下使用 pytester 插件时出现的 LocalPath has no attribute startswith 失败。

2.10.0 (2020-06-12)

  • 改进了 --no-cov 警告。现在,只有在 --no-cov 出现在 --cov 之前时才会显示。

  • 删除了遗留的 pytest 支持。更改了 setup.py,以便需要 pytest>=4.6

2.9.0 (2020-05-22)

  • 修复了在使用 Pytest 3.10 时出现的 RemovedInPytest4Warning。由 Michael Manganiello 在 #354 中贡献。

  • 通过延迟导入使插件未激活时 pytest 启动速度更快。由 Anders Hovmöller 在 #339 中贡献。

  • 各种 CI 改进。由 Daniel Hahler 在 #363#364 中贡献。

  • 各种 Python 支持更新(放弃 EOL 3.4,针对 3.8 最终版进行测试)。由 Hugo van Kemenade 在 #336#367 中贡献。

  • --cov-append 更改为始终启用 data_suffix(coverage 设置)。由 Harm Geerts 在 #387 中贡献。

  • --cov-append 更改为更好地处理加载先前数据(修复了各种路径别名问题)。

  • 其他各种测试改进、github 问题模板、示例更新。

  • 修复了由更改当前工作目录的测试引起的内部故障,方法是在调用 coverage 时确保一致的工作目录。请参阅 #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 主节点/工作节点术语)。由 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 失败时隐藏测试失败的错误。

  • 对于 coverage >= 4.0,匹配 coverage report 的默认行为,如果覆盖范围无法找到源代码则报错,而不是仅打印警告。由 David Szotten 在 PR#116 中贡献。

  • 修复了当使用 xdist 时使用裸 --cov 参数时发生的错误。由 Michael Elovskikh 在 PR#120 中贡献。

  • 添加了对 skip_covered 的支持,并添加了 --cov-report=term-skip-covered 命令行选项。由 Saurabh Kumar 在 PR#115 中贡献。

2.2.1 (2016-01-30)

  • 修复了当使用 xdist 且 coverage >= 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,类似于 coverage-4.0 中新的 fail_under 选项(如果 .coveragerc 中存在 [report] fail_under = ... 则自动激活)。

  • 更改了 --cov-report=term,如果 .coveragerc 中存在 [run] show_missing = True,则自动升级到 --cov-report=term-missing

  • 更改了 --cov,使其可以在没有路径参数的情况下使用(在这种情况下,将使用 .coveragerc 中的源代码设置)。

  • 修复了.pth安装以在所有情况下都能工作(安装、easy_install、wheels、develop等)。

  • 修复了.pth卸载以适用于wheel安装。

  • 支持coverage 4.0。

  • 数据文件后缀更改为使用coverage的data_suffix=True选项(而不是自定义后缀)。

  • 避免警告缺少覆盖率数据(就像coverage.control.process_startup一样)。

  • 修复了使用xdist运行时的竞争条件(所有工作进程都尝试合并文件)。此问题可能在pytest-cov 1.8.X中不存在。

1.8.2 (2014-11-06)

  • N/A