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.
3.9 KiB
3.9 KiB
W2-T7 顺序测试修复复审报告
Verdict
PASS
- 复审对象:
mydreamjob-server/src/test/java/com/mydreamjob/skill/SkillLearningPathServiceTest.java - 对照报告:
changes/n03-skill-cloud/.superpowers/sdd/reviews/W2-T7.md - 生产服务基线:
fca1160 feat: add skill learning path service - 结论:T7-I1 已关闭;当前顺序测试可证伪,原有 T7 行为测试未回归,未发现 T8 实现。
Finding 关闭状态
T7-I1:测试无法阻止学习路径按名称重排
已关闭。
-
Mockito 场景的输入名称和 ID 均不等于自然升序:
SkillLearningPathServiceTest.java:135-139- 名称输入为
Skill Z -> Skill A -> Skill M,自然升序为Skill A -> Skill M -> Skill Z。 - ID 输入为
30 -> 10 -> 20,自然升序为10 -> 20 -> 30。 SkillLearningPathServiceTest.java:155-156显式断言输入名称、ID 都不等于自然排序结果。SkillLearningPathServiceTest.java:157-165读取服务返回对象,并严格断言返回 ID 为30, 10, 20、名称为Skill Z, Skill A, Skill M。- 因此,生产实现若按名称或 ID 重排,现有测试必然失败。
-
断言读取的是服务返回结果,而不是只验证 Mockito 输入:
SkillLearningPathServiceTest.java:157-165使用response.items()的skillId和skillName做精确顺序断言。SkillLearningPathServiceTest.java:160-162同时断言优先级严格为1, 2, 3。- 满足“返回顺序、priority 和技能 ID”均被验证的要求。
-
新增 V36 真实数据场景覆盖不同热度分组和名称顺序:
SkillLearningPathServiceTest.java:89-121- 使用教育行业
3、教学设计职位9调用真实SkillMatchService和SkillLearningPathService。 SkillLearningPathServiceTest.java:102-110断言缺失技能共 10 项、存在多个不同热度值,且名称和 ID 顺序均不等于自然升序。SkillLearningPathServiceTest.java:112-120将服务返回的skillId、skillName与matchResponse.missingSkills()的顺序做严格比较,并断言优先级为1..10。- 因此,真实数据场景不是仅验证输入或数量,而是验证了学习路径严格复用匹配结果的缺失技能顺序。
-
原有 T7 行为测试未回归:
- 四类模板测试:
SkillLearningPathServiceTest.java:176-265,包括编程语言、框架、工具、通用能力、未知/空模板及分类不存在回退。 - 空路径测试:
SkillLearningPathServiceTest.java:268-280,断言total=0、空列表且不访问分类仓储。 - 重复调用测试:
SkillLearningPathServiceTest.java:282-309,断言顺序、优先级和文本一致。 - 本次修复仅修改测试文件;
SkillLearningPathService.java相对fca1160的生产差异为空。
- 四类模板测试:
-
未发现 T8 实现:
- 当前 HEAD 仍为
fca1160。 - 源码和测试目录未发现
SkillCloudController、SkillLearningPathController、/skills词云或学习路径接口及对应安全配置变更。 - 未发现超出 T7 范围的生产实现。
- 当前 HEAD 仍为
独立测试结果
环境:JDK 17.0.16、Maven 3.9.7。
执行命令:
$env:JAVA_HOME='D:\java\jdk'
& 'D:\maven\apache-maven-3.9.7\bin\mvn.cmd' '-Dtest=SkillTaxonomyMigrationTest,SkillCloudSeedDataIntegrationTest,SkillTaxonomyRepositoryTest,SkillCloudQueryServiceTest,SkillMatchServiceTest,SkillLearningPathServiceTest' test
结果:
Tests run: 50, Failures: 0, Errors: 0, Skipped: 0
BUILD SUCCESS
分类统计:
SkillTaxonomyMigrationTest: 2 passed
SkillCloudSeedDataIntegrationTest: 8 passed
SkillTaxonomyRepositoryTest: 6 passed
SkillCloudQueryServiceTest: 8 passed
SkillMatchServiceTest: 16 passed
SkillLearningPathServiceTest: 10 passed
剩余阻断项
无。T7-I1 已关闭,允许进入 T8 评审前置流程。