Flaky reruns autouse session-scoped fixtures when a tests fails one of its runs
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 48/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- python
- 领域
- testing-qa
调研方向
使用提供的 pytest fixture 和 flaky test 重现该问题,然后检查 plugin 的 rerun 处理逻辑以及 fixture 的设置行为。确认 session-scoped autouse fixture 在所有 rerun 中只运行一次,同时 flaky test 仍能完成其配置的运行次数,而不会删除之前的 trace 文件。
由索引模型根据 Issue 内容生成。
描述
When a test fails and is rerun, Flaky reruns session-scoped autouse fixtures. For example, running this test:
import pytest
@pytest.fixture(scope="session", autouse=True)
def my_session_scoped_autouse_fixture():
print("\nIn session scope autouse fixture")
@pytest.mark.flaky(max_runs=3)
def test_flaky_reruns(local_list = []):
local_list.append(0)
assert len(local_list)==3
calls the fixture 3 times:
============================= test session starts ==============================
collecting ... collected 1 item
test_it.py::test_flaky_reruns
In session scope autouse fixture
In session scope autouse fixture
In session scope autouse fixture
PASSED
============================== 1 passed in 0.01s ===============================
Process finished with exit code 0
This can cause unexpected behaviors. In my case, I'm using the pytest-playwright package which has a session-scoped autouse fixture that deletes the output directory where traces are stored for failing tests. If a test fails and is rerun, any previously created trace files are deleted.
- 主要语言
- Python
- 星标
- 399
- 派生
- 59
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
box/flaky 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 45/100
-
难度 4/5 3-5 天 新手友好度 42/100
-
难度 3/5 1-2 天 新手友好度 38/100
-
难度 5/5 一周以上 新手友好度 15/100
-
难度 4/5 3-5 天 新手友好度 25/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
django-cms/djangocms-frontend#413 ·
-
难度 2/5 1-3 小时 新手友好度 82/100
NanmiCoder/MediaCrawler#1004 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
facebookresearch/xformers#1417 ·
-
question
难度 1/5 1 小时以内 新手友好度 68/100
vllm-project/vime#524 ·
维护者通常 7 天内回复
-
难度 2/5 1-3 小时 新手友好度 73/100
FinanceFlash/unvibecode#675 ·
维护者通常 1 天内回复