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

3.1 KiB
Raw Blame History

测试结果

  • 日期: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、消费或发送消息。