#13216·pytest

[未记录] Pytest 包固定项只会尊重包含 __init__.py 的包

作者: alfaix创建于 2025年2月11日更新于 2026年9月15日
标签topic: fixtures

** 核对清单:**

  • 详细描述你面临的错误或问题
  • 从您使用的虚拟环境中输出“ pip list” 。
  • 测试和操作系统版本
  • 如果可能,[x]最小的例子

** 问题**: 如[文件所言 (https://docs.pytest.org/en/8.3.x/how-to/fixtures.html#fixture-scopes),包件固定装置在pytest运行后被销毁,而不是在包内最后一次测试后被销毁. 这个bug使不同的包级固定装置无法访问同一资源(例如我的情况中的Docker容器).

缓解是创建一个空的 init .py',然而从Python3.3开始,这不应该是强制性的(包可以由目录结构定义).

为了方便,我把重制版放进这个存储器中,但归结为创建了2个测试,1个模块范围在顶层,1个包级,在封装中定义了包镜固定. 如果缺少 {init .py' , 固定在顶层测试后被销毁(不正确), 否则它的行为正确(至少一个包的 doc + Python3 定义所暗示), 在嵌入测试后被销毁。

行为要么在上方链接被记录,要么被改变.

页:1 $ pip 列表( $ pip 列表) 软件包版本可编辑项目位置

                        • ---- - -- - -- - -?),又作"活活活活活活". 例外组 1.2.2 无配置 2.0.0 0.1.0/home/akitov/pytest-repro软件包 容器 24.2 第24.3.1页 插头 1.5.0 8.3.4 试验 汤姆利 2.2.1 不一样的 -a Linux LL8FZ1VT3 6.8.0-51-generic #52~22.04.1-Ubuntu SMP PREEMPT DYNAMIC Mon Dec 9 3:00:52 UTC 2 x86 64 x86 64 x86 64 GNU/Linux

内容来源: pytest-dev/pytest