docs: add round 27 dev status — P13.1 test infrastructure + 17 milestone tests
This commit is contained in:
@@ -904,6 +904,42 @@
|
||||
- 或 P13.1 开始编写 milestone/task 后端测试骨架
|
||||
- 或前端排查是否有调用 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
|
||||
- 已 commit:backend `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. 背景
|
||||
|
||||
Reference in New Issue
Block a user