牦牛出栏数据填报 — 测试用例
依据:牦牛出栏数据填报功能需求.md、牦牛出栏数据填报技术方案.md
接口 Base Path:/dataModel/yakOutboundReport
模板:yak_outbound_report_import_template.xlsx / 测试样例 yak_outbound_report_2026.xlsx
通用前置:已登录且具备模块权限;sys_dept 已导入乡镇与村。
一、单元测试用例(摘要)
| 用例编号 |
测试项 |
预期结果 |
| ZCZX-MYCNCL-UT-001 |
年份选项 |
当年起前 5 年共 6 个 |
| ZCZX-MYCNCL-UT-003 |
缺村校验 |
抛异常 |
| ZCZX-MYCNCL-UT-004 |
负数拒绝 |
校验失败 |
| ZCZX-MYCNCL-UT-005 |
同年同月同村唯一 |
失败「该年该月该村已填报」 |
| ZCZX-MYCNCL-UT-006 |
新增成功 |
乡镇由村反推 |
| ZCZX-MYCNCL-UT-007~011 |
解析表头/村行/跳过合计 |
与新模板列一致 |
| ZCZX-MYCNCL-UT-013 |
导入全量覆盖 |
deleteByYearMonth 后 insert |
| ZCZX-MYCNCL-UT-018 |
自食大于出栏 |
警告不阻断 |
| ZCZX-MYCNCL-UT-019 |
导出合计求和 |
合计行数值正确 |
二、接口测试用例(摘要)
| 用例编号 |
测试项 |
预期结果 |
| ZCZX-MYCNCL-API-001 |
列表 |
返回明细字段(合计由前端算) |
| ZCZX-MYCNCL-API-003a |
按村筛选 |
villageDeptId 精确 |
| ZCZX-MYCNCL-API-005 |
详情 |
含全部明细;乡镇/村齐全 |
| ZCZX-MYCNCL-API-006~009 |
新增 |
必填村;同村重复失败 |
| ZCZX-MYCNCL-API-013a |
村树 |
GET /villageTree |
| ZCZX-MYCNCL-API-014~015 |
导入 |
全量覆盖;无有效行报错 |
| ZCZX-MYCNCL-API-021 |
导出 |
按年月 xlsx |
三、界面测试用例(摘要)
| 用例编号 |
测试项 |
预期结果 |
| ZCZX-MYCNCL-UI-001 |
列表列 |
含年/月/乡镇/村/农牧户数/农牧人数/牦牛出栏/牲畜总出栏数/自食牛数/自食牲畜总数 |
| ZCZX-MYCNCL-UI-006 |
新增村树 |
仅可选村叶子 |
| ZCZX-MYCNCL-UI-007 |
新增表单 |
可填全部明细;不出现牲畜总出栏数、自食牲畜总数 |
| ZCZX-MYCNCL-UI-010 |
详情 |
全部明细 + 两项合计只读 |
| ZCZX-MYCNCL-UI-011 |
导入 |
全量覆盖成功摘要 |
四、覆盖对照
| 需求章节 |
要点 |
主要用例 |
| §2.5 合计 |
不入库;列表/详情展示;表单不展示 |
UI-001、007、010 |
| §5.1 列表 |
十数据列 |
UI-001;API-001 |
| §5.2 新增修改 |
只选村;无合计输入 |
UI-006~007 |
| §5.3 详情 |
明细+合计 |
UI-010;API-005 |
| §5.4~5.5 导入导出 |
全量覆盖、合计行 |
UT-013、019;API-014、021 |
五、修订记录
| 版本 |
说明 |
| 1.0~1.x |
乡镇粒度、upsert、七列列表等历史版本 |
| 2.0 |
村粒度、全量覆盖、新模板列 |
| 2.1 |
列表十列含两项合计;新增/修改不展示合计;详情含合计 |