Files
a-share-analysis/docs/features/GOV-009-application-scaffold-baseline/qa/test-results.md
T

49 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 测试结果
- 日期:2026-08-13
- 实现提交:`95b8611bd9bbc282193591e472e2e19c617e5035`
- 状态:passed
## 测试先行证据
- 三进程配置 Token 缺失、Scheduler/Worker 启动后自行退出:RED;动态模块注入和生命周期锚点实现后 GREEN。
- 消息信封缺少追溯字段、MySQL 接受 5.7.41、真实空库 dump 被误判:RED;完整信封、5.7.42 固定和对象计数判空后 GREEN。
- `.vue` 越界导入未被发现、Vite 无 `/api` 代理:RED;SFC 脚本扫描和同源代理后 GREEN。
- 契约漂移验证模块不存在:RED;生成后限定路径 Git diff 与 Git 跟踪门禁后 3/3 GREEN。
- Vue 外部 `script src`、可变镜像标签和干净 checkout 生命周期用例依次 RED;禁止外部脚本、摘要校验与公开生产 fixture 实现后 GREEN。
- Playwright 访问真实健康接口时代理连接拒绝:RED;同时启动测试 API 并复用可用本机 Redis 后 GREEN。
## 完整验证
`pnpm verify`:passed。
- 运行时:Node.js 22.11.0、pnpm 10.25.0。
- 治理:5/5。
- MySQL 架构规范:2/2。
- 环境与部署契约:11/11。
- Schema 基线:28/28;`v0.0.7 (not_applicable)` 验证通过。
- 生成契约漂移:3/3;OpenAPI 与 Web 生成类型同步,未跟踪生成物会阻断。
- 工程边界:8/8,包含 Vue SFC 内联脚本,以及外部脚本单双引号、无引号和属性换序越界用例。
- 生产镜像引用:5/5;拒绝空值、`latest`、普通 tag 和裸摘要。
- Web Vitest:8/8。
- Server Vitest:30/30,包含 API/Scheduler/Worker 与两个真实子进程生命周期用例。
- Web、API、Scheduler、Worker 生产构建:passed。
- Playwright:桌面/移动共 4/4;页面外壳与 Web → Vite → Nest API 健康链路均通过。
- `git diff --check`、ESLint、Prettier、TypeScript:passed。
`pnpm verify:docker`:passed。
该结果是 2026-08-13 已完成的历史交付验证。按用户随后决定,Docker 不再作为日常开发必跑项;核心功能完成后再决定是否保留 Docker 部署,并仅在最终交付阶段按需重跑。
- Web 与 Server 多阶段镜像真实构建成功。
- Server 镜像以 `node` 非 root 用户运行。
- API、Scheduler、Worker 三个镜像入口存在;Scheduler/Worker 均在容器内持续运行,并在 `SIGTERM` 后退出码为 0。
- 隔离容器内 Redis/API/Web 启动,API 健康 200、Web 首页和 Nginx `/api` 代理通过。
- 临时容器、网络和验证镜像已清理。
## 本机与固定开发基础设施
- 本机 Redis `127.0.0.1:6379` 的 DB 0、1、2 分别执行只读 `PING`,三次均返回 `PONG`;未读取或修改业务键。
- 固定开发 MySQL 只读会话返回 `5.7.42-0ubuntu0.18.04.1`、库 `a_share_analysis_dev`、`utf8mb4`、`utf8mb4_general_ci`、会话时区 `+08:00`;Task 1 对象计数为 0。密码只通过临时进程环境传递,未输出或写入命令参数;未连接、探测或读取生产数据库。
- 本机 RocketMQ 只读 TCP 可达性复核:NameServer `127.0.0.1:9876`、Broker `127.0.0.1:10911`、Proxy `127.0.0.1:8081` 均可达。Node Adapter 仍保持禁用,没有创建 Topic、消费或发送消息。