变更日志¶
5.1.0 (2024-09-??)¶
更新了各种文档不准确之处,尤其是在子进程处理方面。
更改了失败检查以使用覆盖率配置中设置的精度。现在,它将执行与
coverage report
相同的检查。
5.0.0 (2024-03-24)¶
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 中贡献。
通过 –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)¶
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 中贡献。
各种 Python 支持更新(放弃 EOL 3.4,针对 3.8 最终版进行测试)。由 Hugo van Kemenade 在 #336 和 #367 中贡献。
将
--cov-append
更改为始终启用data_suffix
(coverage 设置)。由 Harm Geerts 在 #387 中贡献。将
--cov-append
更改为更好地处理加载先前数据(修复了各种路径别名问题)。其他各种测试改进、github 问题模板、示例更新。
修复了由更改当前工作目录的测试引起的内部故障,方法是在调用 coverage 时确保一致的工作目录。请参阅 #306 和 coveragepy#881
2.8.1 (2019-10-05)¶
修复了 #348 - 当仅使用某些报告(html 或 xml)时,回归问题,导致
--cov-fail-under
总是失败。
2.8.0 (2019-10-04)¶
修复了使用 cleanup_on_signal 或 cleanup_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
用于自定义清理。改进了示例。现在有两个针对常见项目布局的示例,包含可工作的覆盖范围配置。这些示例具有 CI 测试。在 #267 中贡献。
改进了 CLI 选项的帮助文本。
2.6.1 (2019-01-07)¶
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)¶
2.5.0 (2017-05-09)¶
2.4.0 (2016-10-10)¶
2.3.1 (2016-08-07)¶
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