西藏巴青项目

大屏共同富裕测试用例.md 17KB

大屏 — 共同富裕统计 — 测试用例

依据:大屏共同富裕功能需求.md(v1.1)、大屏共同富裕技术方案.md
接口 Base Path/bigScreen/commonProsperity(含 context-path、网关前缀须补齐)。鉴权:若依 Cookie / Authorization Token;权限 bigScreen:commonProsperity:query

成果口径(图表)achievement.monthly滚动最近 12 月;含 statYear+monthY;缺月 0总览 summary 仍按 Y 全年汇总。

UI 测试Playwright + Chromiumplaywright.configuse: { channel: 'chrome' } 调用本机 Google Chrome


测试数据样本

代号 说明
ACH-Y 统计年 Y 成果台账;如 ACH-20262026-032026-08 各 1 条
ACH-EMPTY 某年无任何成果记录
PRJ-PUB-A 已发布;实施 2025-01-012027-12-31project_type=1;含 2 张运营图
PRJ-PUB-B 已发布;实施 2026-06-012026-12-31project_type=2;含视频+封面
PRJ-UNPUB publish_status=0
PRJ-OFF 曾发布已下架 publish_status=0offline_time 非空
PRJ-OUT 已发布;实施 2024-01-012024-12-31(与 2026 无交集)
PRJ-EDGE 已发布;实施 2026-01-012026-12-31(边界交集)

一、单元测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
DP-GTFY-UT-001 参数校验 statYear 合法 单元测试 JUnit5 复用年度报告校验 传入 20262000 解析通过
DP-GTFY-UT-002 参数校验 statYear 非法 单元测试 JUnit5 异常入参 空、26abcd1899 ServiceException 或等价失败
DP-GTFY-UT-003 成果聚合 复用 Aggregator 缺月 单元测试 JUnit5 禁止大屏另写汇总 Mock 2026 仅 3 月 1 条 getAnnualReport(2026) monthly 长度 12;非 3 月指标为 0
DP-GTFY-UT-004 成果聚合 hasData 与 summary 单元测试 JUnit5 §7.1 Mock 空列表 buildReport(2026,[]) hasData=falsesummary=null
DP-GTFY-UT-005 成果聚合 比率十二月均 单元测试 JUnit5 §2.4 仅 6 月使用率 0.6 calcSummary digitalPlatformUsageRate=0.05
DP-GTFY-UT-006 项目筛选 实施周期交集 单元测试 JUnit5 §2.6 造 PRJ-PUB-A、PRJ-OUT、PRJ-EDGE filterByStatYear(2026) 含 A、EDGE;不含 OUT
DP-GTFY-UT-007 项目筛选 未发布/已下架排除 单元测试 JUnit5 §2.6、DP-10 含 PRJ-UNPUB、PRJ-OFF、PRJ-PUB-B filterByStatYear(2026) 仅 PUB-B(及满足交集的其他已发布项)
DP-GTFY-UT-008 项目筛选 边界日期含端点 单元测试 JUnit5 交集边界 impl_start=2026-12-31impl_end=2026-01-01 各 1 条已发布 filterByStatYear(2026) 两条均纳入
DP-GTFY-UT-009 分类统计 占比计算 单元测试 JUnit5 §5.10 类型 1×2、2×1、3×0 buildTypeStats count 2/1/0;ratio 2/3、1/3、0;合计 ratio≈1
DP-GTFY-UT-010 分类统计 无项目固定三类 单元测试 JUnit5 §7.2 筛选结果空 buildTypeStats 返回 3 项;count=0ratio=0
DP-GTFY-UT-011 可选年份 并集含当前年 单元测试 JUnit5 年份下拉 Mock 成果年 [2025]、项目年 [];当前年 2026 buildAvailableYears 列表含 2026(当前年)
DP-GTFY-UT-012 列表排序 发布时间倒序 单元测试 JUnit5 §5.11.1 同类型两条 publish_time 不同 sortProjects 时间晚者在前
DP-GTFY-UT-013 运营图 按 sort_order 组装 单元测试 JUnit5 §3.2.1 项目 2 张图 order 2、1 attachOpImages 输出顺序 1→2
DP-GTFY-UT-014 看板编排 仅项目无成果 单元测试 JUnit5 §7.2 Mock 成果空、项目 1 条 loadDashboard(2026) achievement.hasData=falsehasProjectData=true
DP-GTFY-UT-015 看板编排 仅成果无项目 单元测试 JUnit5 §7.2 Mock 成果 1 条、项目空 loadDashboard(2026) achievement.hasData=truehasProjectData=false
DP-GTFY-UT-016 约束 无写接口 单元测试 JUnit5 只读 检查 ScreenService/Controller 无 insert/update/delete 仅查询与组装
DP-GTFY-UT-017 约束 无详情接口定义 单元测试 JUnit5 §5.11 检查 Controller 映射 GET .../{id} 大屏详情 仅 dashboard、projects
DP-GTFY-UT-018 缓存 forceRefresh 跳过 单元测试 JUnit5 技术§2.3 可选 启用缓存且未过期 loadDashboard(2026,true) 不走缓存、重新查库

二、接口测试用例

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
DP-GTFY-API-001 看板 满年成果+项目 接口测试 Postman/curl 正常流程 DP-01 已登录;2026 成果多月+已发布项目 GET .../dashboard?statYear=2026 code 成功;achievement.hasData=truemonthly.length=12hasProjectData=trueprojectTypeStats 有数据
DP-GTFY-API-002 看板 滚动 12 月缺月补零 接口测试 Postman DP-03 ACH-2026 仅 3、8 月 statYear=2026 monthlystatYearmonth;缺槽 0;Y 变窗口
DP-GTFY-API-003 看板 全年无成果 接口测试 Postman DP-04 2026 ACH-EMPTY GET dashboard achievement.hasData=falsesummary=nullmonthly 仍 12 条全 0
DP-GTFY-API-004 看板 仅项目无成果 接口测试 Postman §7.2 2026 无成果;有 PRJ-PUB-B GET dashboard achievement.hasData=falsehasProjectData=true;饼图 stats 正常
DP-GTFY-API-005 看板 仅成果无项目 接口测试 Postman §7.2 2026 有 ACH;无符合交集项目 GET dashboard achievement.hasData=truehasProjectData=falseprojectTypeStats 三项 count=0
DP-GTFY-API-006 看板 比率汇总 接口测试 Postman DP-05 2026 全年使用率均为 0.12 GET dashboard summary.digitalPlatformUsageRate≈0.12;brandPremiumRate 同理
DP-GTFY-API-007 看板 缺 statYear 接口测试 Postman 异常 已登录 不传 statYear 失败;msg 提示参数错误
DP-GTFY-API-008 看板 非法 statYear 接口测试 Postman 异常 已登录 statYear=abc 失败
DP-GTFY-API-009 看板 statYear 回显 接口测试 Postman 一致性 已登录 statYear=2025 data.statYear=2025
DP-GTFY-API-010 看板 availableYears 接口测试 Postman §5.1 成果 2025、项目交集 2026 GET dashboard availableYears 含 2025、2026、当前年;降序
DP-GTFY-API-011 看板 分类占比之和 接口测试 Postman DP-07 2026 三类项目共 6 个 GET dashboard sum(ratio)≈1(±0.01);count 之和=6
DP-GTFY-API-012 看板 未发布项目不计 接口测试 Postman 业务约束 仅 PRJ-UNPUB GET dashboard 2026 hasProjectData=false 或 stats 全 0
DP-GTFY-API-013 看板 下架项目不计 接口测试 Postman DP-10 PRJ-OFF 曾计入、下架后 下架→GET dashboard 分类与列表均不含该项目
DP-GTFY-API-014 看板 实施年无交集排除 接口测试 Postman §2.6 PRJ-OUT + PRJ-PUB-B statYear=2026 stats/list 不含 OUT;含 B
DP-GTFY-API-015 看板 forceRefresh 接口测试 Postman 技术§3.1 已启用缓存 ?statYear=2026&forceRefresh=true 成功;数据与库一致
DP-GTFY-API-016 项目列表 分页首页 接口测试 Postman DP-08 2026 ≥9 条已发布项目 GET .../projects?statYear=2026&pageNum=1&pageSize=8 rows.length≤8total 正确
DP-GTFY-API-017 项目列表 第二页 接口测试 Postman 分页 同上 pageNum=2 与第一页 id 不重复;顺序 publish_time 倒序
DP-GTFY-API-018 项目列表 行内字段齐全 接口测试 Postman §5.11.2 PRJ-PUB-B 有图视封面 GET projects 每条含 type、name、intro、content、周期、cover、video、operationImages
DP-GTFY-API-019 项目列表 全年无项目 接口测试 Postman §5.11.3 2026 无符合项目 GET projects rows=[]total=0
DP-GTFY-API-020 项目列表 缺 statYear 接口测试 Postman 异常 已登录 不传 statYear 失败
DP-GTFY-API-021 范围 无大屏详情接口 接口测试 Postman §5.11 已登录 GET .../bigScreen/commonProsperity/1/project/1 404/405
DP-GTFY-API-022 范围 无维护接口 接口测试 Postman §3.2 已登录 POST/PUT/DELETE .../bigScreen/commonProsperity/** 404/405 或无权限
DP-GTFY-API-023 联动 成果补录后 接口测试 Postman DP-09 2026 原 ACH-EMPTY 后台新增 2026-01 成果→GET dashboard hasData=true;1 月有值
DP-GTFY-API-024 联动 项目发布后 接口测试 Postman DP-09 2026 原无项目 后台发布 PRJ-EDGE→GET dashboard+projects hasProjectData=true;列表可见
DP-GTFY-API-025 鉴权 未登录 接口测试 curl 安全 无 Token GET dashboard 401 或统一未登录
DP-GTFY-API-026 权限 无大屏权限 接口测试 Postman 越权 bigScreen:commonProsperity:query GET dashboardGET projects 403 或无权限
DP-GTFY-API-027 权限 有大屏无成果写 接口测试 Postman 只读 仅有 query GET 成功;POST /commonProsperity/achievement 失败 大屏可读;台账不可写
DP-GTFY-API-028 一致性 切年数据不串 接口测试 Postman DP-02 2025、2026 各不同数据 分别 statYear=2025/2026 各年 monthly/项目集合互不混入

三、界面测试用例(UI)

用例编号 测试模块 测试项 测试类型 测试工具 测试目的 前置条件 测试步骤 预期结果
DP-GTFY-UI-001 页面 默认当前年加载 UI 测试 Playwright+Chrome DP-01 已登录;有权限;有当前年数据 打开「大屏共同富裕」路由 年份为当前自然年;自动请求 dashboard+projects;各区块同年
DP-GTFY-UI-002 筛选 切换年份整页刷新 UI 测试 Playwright+Chrome DP-02、§5.1 含 2025、2026 数据 年份 2025→2026 成果区、图表、饼图、列表同步更新;无 2025 残留数字
DP-GTFY-UI-003 筛选 加载中防残留 UI 测试 Playwright+Chrome §7.3 已登录 切换年份(可 route.fulfill 延迟) 出现 Loading/遮罩;完成后仅新年数据
DP-GTFY-UI-004 空态 全年无成果 UI 测试 Playwright+Chrome DP-04、§7.1 选 ACH-EMPTY 年 进入或切换该年 总览/图表/数字赋能空态文案;显示全 0 汇总卡片
DP-GTFY-UI-005 空态 无项目有成果 UI 测试 Playwright+Chrome §7.2 2026 有成果无项目 打开 2026 图表正常;饼图空态;列表「本年度暂无共富项目」
DP-GTFY-UI-006 总览 指标与单位 UI 测试 Playwright+Chrome §5.2 2026 有成果 查看共富成果卡片区 名称/数值/单位正确(万元、人、个、亩);比率显示 %
DP-GTFY-UI-007 图表 集体经济横向柱滚动 12 月 UI 测试 Playwright+Chrome §5.3、DP-03 ACH-2026 缺月 查看该图+悬停 12 刻度仅月份;悬停显 YYYY年M月+万元
DP-GTFY-UI-008 图表 就业双系列 UI 测试 Playwright+Chrome DP-06、§5.4 2026 有数据 查看就业带动图 两图例/两色系;Tooltip 区分人数与岗位
DP-GTFY-UI-009 图表 环境治理/文化传承柱图 UI 测试 Playwright+Chrome §5.5、§5.8 2026 有数据 查看两图 12 月;缺月为 0
DP-GTFY-UI-010 图表 绿化折线 UI 测试 Playwright+Chrome §5.6 2026 有数据 查看绿化建设 12 落点;缺月 0 不断线
DP-GTFY-UI-011 图表 民族团结堆叠 UI 测试 Playwright+Chrome DP-06、§5.9 2026 有数据 悬停某月 堆叠柱;Tooltip 分别显示融合项目数、活动数
DP-GTFY-UI-012 数字赋能 三指标展示 UI 测试 Playwright+Chrome §5.7、DP-05 2026 有成果 查看数字赋能区 品牌数(加总)、溢价率/使用率(%);与 API summary 一致
DP-GTFY-UI-013 数字赋能 无成果空态 UI 测试 Playwright+Chrome §5.7 ACH-EMPTY 年 切换至该年 不展示 0% / 0 品牌误导数据
DP-GTFY-UI-014 项目分类 饼图与图例 UI 测试 Playwright+Chrome §5.10、DP-07 三类均有项目 查看饼图 三类名称与列表标签色一致;占比之和 100%
DP-GTFY-UI-015 项目分类 无项目空态 UI 测试 Playwright+Chrome §7.2 2026 无符合项目 查看饼图区 空态;单类 100% 假象
DP-GTFY-UI-016 项目列表 行内信息完整 UI 测试 Playwright+Chrome DP-08、§5.11.2 PRJ-PUB-B 在列 查看列表行 类型、名称、简介、内容、周期、封面、视频、运营图可见
DP-GTFY-UI-017 项目列表 无二级详情页 UI 测试 Playwright+Chrome §5.11 列表有「详情」文案(若有) 点击详情/名称 跳转路由/新 Tab;仅行内展开或浮层
DP-GTFY-UI-018 项目列表 分页翻页 UI 测试 Playwright+Chrome §5.11.1 ≥9 条项目;pageSize=8 点下一页 仅列表区刷新;waitForResponse('**/projects**');成果区不变
DP-GTFY-UI-019 只读 无维护按钮 UI 测试 Playwright+Chrome §3.2 已登录 扫描页面 无新增/编辑/删除/发布;可有刷新
DP-GTFY-UI-020 错误 接口失败可重试 UI 测试 Playwright+Chrome §7.3 Mock dashboard 500 进入或切年 失败提示;可点重试;不长期半屏旧数据
DP-GTFY-UI-021 联动 后台发布后刷新 UI 集成 Playwright+Chrome DP-09 2026 列表原空 后台发布项目→大屏 F5 或重进 饼图与列表出现新项目
DP-GTFY-UI-022 联动 下架后不可见 UI 集成 Playwright+Chrome DP-10 列表曾显示某项目 后台下架→刷新大屏 饼图与列表均移除
DP-GTFY-UI-023 权限 无菜单不可进 UI 测试 Playwright+Chrome 安全 账号无大屏菜单 登录查侧栏 无「大屏共同富裕」;直链路由 403/无权限页
DP-GTFY-UI-024 端到端 按年查阅全流程 UI 集成 Playwright+Chrome §4、DP-01~08 2026 完整样本 登录→进大屏→默认年→改年→悬停图表→翻页 十区块数据正确;无控制台报错
DP-GTFY-UI-025 刷新 手动/定时刷新 UI 测试 Playwright+Chrome §7.4 已打开页;后台改成果 点击刷新或等待轮播周期 数据更新为最新(允许 1~5 分钟延迟配置)

Playwright 实施提示

// playwright.config.ts 片段
use: { channel: 'chrome', headless: false }

// 登录后 storageState
await page.goto('/#/bigScreen/commonProsperity/index'); // 以实际路由为准

// 切年:监听双请求同成败
const [dash, proj] = await Promise.all([
  page.waitForResponse('**/bigScreen/commonProsperity/dashboard**'),
  page.waitForResponse('**/bigScreen/commonProsperity/projects**'),
  yearPicker.selectOption('2026'),
]);

// 空态
await expect(page.getByText(/暂无.*成果|请.*共同富裕成果/)).toBeVisible();

// 图表容器数量(按页面实现调整)
await expect(page.locator('[data-chart]')).toHaveCount(6); // 集体经济/就业/环境/绿化/文化/民族团结

覆盖对照

类别 单元 UT 接口 API 界面 UI
正常流程 UT-003~005、009、012~015 API-001~002、006、010~011、016~018、023~024 UI-001~002、006~012、014、016、018、024
异常流程 UT-002、004 API-003、007~008、019~020、025~026 UI-004、020、023
业务约束 UT-006~010、016~017 API-004~005、012~014、021~022、028 UI-004~005、013、015、017、019、022

功能需求追溯(DP / 章节)

追溯 要点 主要用例
DP-01 默认当前年 UI-001;API-001
DP-02 切年一致 API-028;UI-002~003
DP-03 滚动 12 月缺月=0 UT-003;API-002;UI-007~011
DP-04 无成果空态 UT-004;API-003;UI-004、013
DP-05 比率 % UT-005;API-006;UI-006、012
DP-06 双系列图 UI-008、011
DP-07 项目分类 UT-009~010;API-011~014;UI-014~015
DP-08 列表分页行内 API-016~018;UI-016~018
DP-09 后台变更刷新 API-023~024;UI-021、025
DP-10 下架不展示 UT-007;API-013;UI-022
§2.6 项目交集 UT-006、008;API-014
§3.2 只读 UT-016~017;API-021~022;UI-019
§5.11 无详情页 UT-017;API-021;UI-017
§7.3 加载失败 UI-003、020

修订记录

版本 说明
1.0 初版:单元 18、接口 28、UI 25;覆盖 DP-01~10 与正常/异常/约束;Playwright+Chrome;Base /bigScreen/commonProsperity