docs: add round 27 dev status — P13.1 test infrastructure + 17 milestone tests

This commit is contained in:
zhi
2026-03-18 03:08:42 +00:00
parent faad8158ed
commit 5ea3bdb6fd

View File

@@ -904,6 +904,42 @@
- 或 P13.1 开始编写 milestone/task 后端测试骨架 - 或 P13.1 开始编写 milestone/task 后端测试骨架
- 或前端排查是否有调用 batch transition 的地方需要适配新请求体 - 或前端排查是否有调用 batch transition 的地方需要适配新请求体
### 2026-03-18 03:00 UTC第 27 轮P13.1 Milestone 后端测试基础设施 + 17 个测试)
本轮做了什么:
- 搭建后端测试基础设施P13.1),使用 SQLite 内存数据库 + FastAPI TestClient
- 新建 `tests/conftest.py`
- SQLite in-memory 引擎 + StaticPool共享连接
- 自动建表/销表 fixture每测试隔离
- 工厂 fixture`make_user` / `make_project` / `make_milestone` / `make_task` / `make_member`
- `seed_roles_and_permissions`:创建 admin/mgr/dev 角色 + 18 个权限 + 角色-权限映射
- `auth_header`JWT token 生成,用于 TestClient 请求认证
- 新建 `tests/test_milestone_actions.py`17 个测试):
- **TestFreeze**4 个):成功冻结 / 缺 release task 失败 / 多 release task 失败 / 非 open 状态拒绝
- **TestStart**3 个):成功启动 + started_at 写入 / 依赖未完成拒绝 / 非 freeze 状态拒绝
- **TestClose**5 个open/freeze/undergoing → closed 成功 / completed/closed 终态拒绝
- **TestAutoComplete**3 个release task 完成自动触发 completed / 非 release task 不触发 / 非 undergoing 不触发
- **TestPreflight**2 个):有 release task 时 allowed=true / 无 release task 时 allowed=false
改了哪些关键文件:
- `HarborForge.Backend/tests/__init__.py` — 新增
- `HarborForge.Backend/tests/conftest.py` — 新增(~220 行)
- `HarborForge.Backend/tests/test_milestone_actions.py` — 新增(~400 行)
验证结果:
- `python3 -m pytest tests/test_milestone_actions.py -v`**17 passed**0 failed
- 已 commitbackend `011a226`parent `faad815`
当前阻塞/风险:
- 安装了 pytest/httpx/python-multipart 等测试依赖到系统 Python非 venv仅用于本地开发验证
- passlib + bcrypt 5.x 存在兼容性问题,测试中用预计算 hash 绕过
- P13.2 task 测试、P13.3 propose 测试尚未编写
- P14 收尾验收未开始
下一轮最建议继续做什么:
- P13.2 Task 后端测试(状态流转合法性 + assignee 校验 + comment 强制 + 编辑限制)
- 或 P13.3 Propose 后端测试accept/reject/reopen + feat_task_id 生成 + code 递增)
--- ---
## 1. 背景 ## 1. 背景