f89cd998ef
后端验证一直靠 E2E(打真实接口,很硬但要起服务连库)。这批先给 「输入输出确定、没有 IO」的纯函数补最小单测,成本最低、回归收益最高; 其余继续靠 E2E,不为了覆盖率硬凑。 · IdentityNormalizerTest:姓名去所有空白但**保留间隔号**(少数民族姓名的 「·」是真实的,顺手清掉等于改人名字)、全角转半角、证件号小写 x 收尾统一、 null 不抛 NPE · FileProcessServiceTest:扩展名必须自带点号(少一个字符不报错,只会产出 「身份证jpg」这种客户双击打不开的文件 —— F-46)、空变量用「未填」占位 (留空会出现「张--身份证.jpg」)、文件名里的 / 必须清掉(「学籍表(1/2)」 带 / 根本写不进磁盘)、超长截到 90 且不吃掉扩展名、sanitize 收拢连续分隔符 每条断言都对应一个真实踩过的坑 —— 断言的是「有理由的规则」,不是覆盖率。 验证:mvn test → 12/12 通过(exit 0)