pytest-xdist并发执行时的数据隔离
2024年2月记录,分类「pytest」。这是一篇偏实战的记录,保留了当时的判断过程和后续沉淀。
并发后暴露的问题
xdist 能缩短执行时间,也会把共享数据问题一次性暴露出来。账号、订单号、缓存 key、临时文件都需要隔离。
这类问题如果只写结论,过一段时间就很难复用,所以我把判断依据也留了下来。
隔离策略
- 用 worker_id 给测试数据加后缀。
- 每个 worker 使用独立账号池或独立租户。
- teardown 失败时记录残留数据,方便清理。
@pytest.fixture
def unique_user(worker_id):