Files
vscode-workbench/PLANNING/PROGRESS_D-02.md
T

1.7 KiB
Raw Blame History

PROGRESS_D-02 · PG 并发测试环境(激活 4 个 skipped)

日期 2026-09-13 · 范围:只改 gj/dealerhub 目录(新建 backend/docs/pgtest.md 一文件,零代码变更)

现状 vs 差距(接手时)

  • 已有:config/settings/pgtest.py(PG DSN,环境变量覆盖)+ scripts/setup_pg.py(建库+迁移)+ tests/test_concurrency.py 4 个 @pytest.mark.postgres 真并发用例 + conftest.py 自动跳过守卫 + pytest.ini marker 注册。
  • 缺口(任务卡验收项):backend/docs/pgtest.md 缺失;4 用例需在本机真实跑通贴输出。

改动

  1. backend/docs/pgtest.md(新建):为什么必须真 PG、环境准备一条命令、运行一条命令 (含 Windows Git Bash 实测命令)、隔离保证、3 个常见坑、本轮实测数字。

验证(本机 PG 16,127.0.0.1:5433,全部实跑)

python scripts/setup_pg.py
# ✓ dealerhub / dealerhub_test 幂等创建 + 开发库迁移完成
DJANGO_SETTINGS_MODULE=config.settings.pgtest python -m pytest tests/test_concurrency.py -p no:cacheprovider -m postgres
# 4 passed, 11 deselected in 11.20s
DJANGO_SETTINGS_MODULE=config.settings.pgtest python -m pytest -p no:cacheprovider
# 516 passed in 100.25s(0 skipped)
python -m pytest tests/test_concurrency.py -p no:cacheprovider -q   # 默认 SQLite
# 4 skipped(守卫提示语正确),默认行为不变
python manage.py makemigrations --check --dry-run   # No changes detected
python manage.py check                              # 0 issues

状态

done。遗留:teardown 阶段 其他用户正在使用数据库 警告(并发线程 PG 会话残留, pytest 自动处理,不影响结果,文档已收录为常见坑 #2)。