status: complete updated: 2026-07-20
复用 V4 Job 模块 84/84、前端定向测试 13/13、Admin Reactor 42/42 和生产构建基线,增量验证 V5 的组合筛选、安全详情、导出白名单、连续失败计数、任务概览和近 24 小时监控摘要。
| 优先级 | 范围 | 验证方式 |
|---|---|---|
| P0 | consecutive_failures、组合索引和导出配置 | Flyway 合约测试、placeholder 扫描 |
| P0 | 列表/详情不返回 jobParam,导出排除结果与异常 | Mapper XML 和 VO 合约测试 |
| P0 | 成功清零、失败递增、跳过不改变 | JobExecutionLifecycleServiceTest |
| P0 | 时间、状态、来源组合筛选 | JobMapperXmlContractTest |
| P0 | 任务概览和 24 小时摘要 | Service/Mapper 聚合测试 |
| P1 | 筛选、详情、导出、全局摘要和任务概览 | 前端定向 Vitest、ESLint、生产构建、浏览器检查 |
mvn -Penable-tests -pl forge-framework/forge-plugin-parent/forge-plugin-job -am testpnpm build。git diff --check。mvn -pl forge-admin-server -am package -DskipTests。| 验证项 | 结果 |
|---|---|
| V5 后端定向测试 | 15/15 通过 |
| Job 模块全量测试 | 94/94 通过 |
| 前端定向 Vitest | 16/16 通过 |
| 前端定向 ESLint | 通过 |
| 前端生产构建 | 通过 |
| Admin Reactor | 42/42,package -DskipTests 通过 |
| Mapper XML / Flyway / 冲突标记 / diff 静态检查 | 通过 |
| 桌面与窄屏生产预览 | 入口 200、启动壳正常、无脚本或静态资源错误;任务页因后端未启动未覆盖 |
forge_schema_history、新增字段、索引、字典和导出配置。| 编号 | 场景 | 预期 |
|---|---|---|
| V5.1-P0-01 | 列表开始时间 | 优先展示 startTime,缺失时依次回退 triggerTime、scheduledFireTime |
| V5.1-P1-01 | 主列表层级 | 默认不展示执行器和结束时间,状态与来源组合展示,详情操作保持权限控制 |
| V5.1-P1-02 | 详情层级 | 右侧抽屉分开展示概览、时间线、结果/异常和默认折叠的技术信息 |
| V5.1-P1-03 | 响应式 | 桌面和窄屏下筛选、表格操作及抽屉内容不重叠 |
| V5.1-P1-04 | 前端质量 | 目标 Vitest、目标 ESLint、生产构建和空白检查通过 |
source ~/.nvm/nvm.sh && nvm use v20.19.0
pnpm exec vitest run src/views/system/__tests__/job-log-query.test.js
pnpm exec eslint src/views/system/job-log-list.vue \
src/views/system/job-config.vue \
src/views/system/job-log-query.js \
src/views/system/__tests__/job-log-query.test.js
NODE_OPTIONS=--max-old-space-size=8192 pnpm build
本轮不修改后端,不启动 MySQL、Redis、Quartz 或 Admin;浏览器检查仅在现有可用前端预览与登录条件允许时执行,不把未覆盖的真实业务数据表述为已验收。
1 failed / 4 passed,失败原因为 resolveJobLogStartedAt is not a function;实现后最终 5/5 通过。v20.19.0 下通过,8725 个模块完成转换,生成 job-log-list 产物。git diff --check 和新增/修改目标文件尾随空白检查无输出。