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.
 
 
 
 
 
 

2.6 KiB

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 扫描:全库 *.javaEF 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