| 项目 | 结果 |
|---|---|
| 测试框架 | pytest + FastAPI TestClient |
| 测试数据库 | survey_test |
| 当前总数 | 93 |
| 通过 | 93 |
| 失败 | 0 |
| 运行命令 | pytest -q |
最近一次全量结果:
93 passed in 15.66s
当前测试已经覆盖 phase1 主链和 phase2 主链。
- 注册、登录、登出
- 未登录访问受保护接口
- Session 用户身份读取
- 创建、更新、发布、关闭
- draft / published / closed 状态约束
- 问卷基础元信息保存
- 新增题目
- 删除题目
- 同一题可重复编辑
- 引用题目资产到问卷
- 切换引用版本
- 题目排序
- 排序后
__order__:N跳转目标重写 - 非法后跳/自跳拒绝
jump_service纯逻辑validation_service纯逻辑- 填写路径计算
- 按题型校验答案
- 发布问卷提交答卷
- 单卷统计
- 单题统计
- 跳转导致不同题回答人数变化
- 数字题平均值
- 创建题目资产
- 创建新版本
- 恢复旧版本
- 共享题目
- 共享用户使用共享题目
- 查看题目使用情况
- 已发布问卷保持旧版本快照稳定
- 同一题不同版本可被不同问卷同时使用
- 创建题库
- 题目加入题库
- 题目移出题库
- 题库页面渲染
- 共享题库只读页面语义
- 题目资产页
- 题目详情页
- 题库列表页
- 题库详情页
- 问卷编辑页 phase2 面板
- 共享资产/题库只读视图
| 文件 | 作用 |
|---|---|
tests/test_auth.py |
认证接口 |
tests/test_surveys.py |
问卷 CRUD |
tests/test_questions.py |
问卷内题目编排、排序、版本引用 |
tests/test_validation.py |
校验引擎单元测试 |
tests/test_jump.py |
跳转引擎单元测试 |
tests/test_responses.py |
答卷提交与问卷统计 |
tests/test_stats.py |
单卷统计与跨问卷单题统计 |
tests/test_question_assets.py |
phase2 题目资产生命周期 |
tests/test_question_pages.py |
题目页面回归 |
tests/test_question_bank_pages.py |
题库页面回归 |
tests/test_survey_edit_pages.py |
phase2 问卷编排页回归 |
tests/test_phase2_migration.py |
一次性迁移 |
以下能力没有因 phase2 改造被破坏:
- 用户认证
- 问卷发布/关闭
- 问卷填写
- 整卷统计
- 跳转与校验
以下约束已经由接口级或页面级回归覆盖:
- 共享用户可以使用共享题目
- 修改题目内容通过新版本完成,不覆盖旧版本
- 已发布问卷仍保留旧 snapshot
- 恢复旧版本会生成新的 latest version
- 共享资产页与共享题库页显示为只读
- 当前测试主要覆盖后端语义和 SSR 页面渲染
- 浏览器级手工验收仍然建议补一轮,重点看:
- 题目创建 -> 新版本 -> 共享
- 题库加题/移题
- 问卷选题 -> 排序 -> 跳转 -> 切版本
- 填答 -> 统计 -> 跨问卷单题统计