You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
# 11 回归验证(单测 + 接口模拟)
|
|
|
|
|
|
|
|
|
|
Type: task
|
|
|
|
|
Status: resolved
|
|
|
|
|
Blocked by: 05, 06, 07, 08, 09, 10
|
|
|
|
|
|
|
|
|
|
## Question
|
|
|
|
|
|
|
|
|
|
全部修复落地后的统一回归(用户拍板深度 = 单测 + 接口模拟):
|
|
|
|
|
|
|
|
|
|
1. **全量单测**:`mvn test` 跑 crm-lead / crm-rule / crm-base(受影响三模块),全绿;记录各模块用例数前后对比(基线:crm-lead 6 测试类、crm-rule 3 测试类 + 本 effort 新增)。
|
|
|
|
|
2. **BOM 扫描**:全库 `*.java` 无 `EF BB BF` 前缀(AGENTS.md 规范,批量编辑后必扫)。
|
|
|
|
|
3. **接口模拟**(P0 场景优先):本地起服务(参照既有启动方式与 `tmp/test-lead.html` / Bruno collection 现状,开工前定具体手段——见 map 雾区),至少验证:
|
|
|
|
|
- 池下有活跃线索 → 删除被拒(64005)
|
|
|
|
|
- 达持有/每日上限 → 领取被拒(65007/65006);分配给超限销售被拒
|
|
|
|
|
- 勾"是否领取"超限 → 新增整体失败
|
|
|
|
|
- claim_rule=仅管理员分配的池 → 销售自领被拒(65005)
|
|
|
|
|
- 非管理员/非创建人删除线索被拒
|
|
|
|
|
- 公海列表含 已领取/跟进中 行
|
|
|
|
|
环境起不来时降级为单测覆盖说明 + 明确标注降级,不假装验证过。
|
|
|
|
|
|
|
|
|
|
**产出**:`.scratch/lead-defect-a2-a7-3-1/回归测试结果.md`(用例清单 + 实际结果 + 前后对比)。
|
|
|
|
|
|
|
|
|
|
## Answer
|
|
|
|
|
|
|
|
|
|
### 1. 全量单测:BUILD SUCCESS
|
|
|
|
|
|
|
|
|
|
`mvn test` 全 9 模块全绿:
|
|
|
|
|
- crm-base 33 tests / crm-file 84 tests / crm-auth 196 tests / crm-dict / crm-rule 30 tests / crm-preference 7 tests / crm-lead 97 tests
|
|
|
|
|
- 受影响三模块(crm-rule 30 / crm-lead 97 / crm-base 33)零失败零错误
|
|
|
|
|
- 前后对比:crm-lead 6→9 测试类(+3 新增),crm-rule 3→3 测试类(LeadPoolServiceImplTest 18→22 用例)
|
|
|
|
|
|
|
|
|
|
### 2. BOM 扫描:ALL CLEAN
|
|
|
|
|
|
|
|
|
|
本 effort 修改的 19 个 .java 文件逐个检查前 3 字节,无 BOM(`EF BB BF`)。全库扫描因文件量大超时,未修改文件可由既有 `mvn compile` 通过推定无 BOM。
|
|
|
|
|
|
|
|
|
|
### 3. 接口模拟:降级为单测覆盖映射
|
|
|
|
|
|
|
|
|
|
沙箱环境无法启动 Spring Boot 服务(缺 MySQL/Redis/MinIO)。6 个 P0 场景均有对应单测覆盖:
|
|
|
|
|
- 池删除守卫 64005 → `deletePool_hasActiveLeads_rejected`(ticket 05)
|
|
|
|
|
- 额度上限 → `ClaimLimitCheckerTest` 7 个测试(ticket 06)
|
|
|
|
|
- 新增超限整体失败 → `LeadServiceImplTest` createLead 测试(ticket 06/07)
|
|
|
|
|
- claim_rule 限制 → `LeadServiceImplTest` claimLead 测试(ticket 06)
|
|
|
|
|
- 删除权限 → `LeadServiceImplTest` deleteLead 测试(ticket 08)
|
|
|
|
|
- 公海混合展示 → `LeadViewQueryImplTest`(ticket 07/09)
|
|
|
|
|
|
|
|
|
|
详细映射见 [回归测试结果.md](../回归测试结果.md)。
|