Prhub

#30703 [misc] Remove unit test cases that fail the admission criteria (round 2)

原始 PR 作者 hnyls2002 合并时间 2026-07-10 07:35 文件变更 24 提交数 3 评论 2 代码增减 +29 / -770

执行摘要

第二波冗余单元测试清理,删除 770 行无价值测试

继续 #30690 的测试套件瘦身,删除不符合准入标准(admission criteria)的冗余测试,以降低 CI 负担并保持回归覆盖。PR body 详细列出了每个删除的理由,包括 strict-subset、tautology、mirror、dead-code 等类别。

建议阅读改进后的规则文档,特别是'区分性测试'部分,以理解如何平衡测试冗余与覆盖完整性。本 PR 的方法论(使用验证代理交叉检查)值得在类似清理任务中复用。

讨论亮点

审核无实质讨论。作者通过多个扫描和验证代理交叉检查了所有删除,并在 PR body 中提供了详细理由。仅有的评论是 gemini-code-assist 的配额警告和作者的 /tag-and-rerun-ci 命令。

实现拆解

  1. 识别候选删除:基于第一轮建立的方法论,扫描 23 个未覆盖的单元测试文件,识别出严格子集、同义反复、镜像测试、死代码四种类型的冗余用例。
  2. 验证与交叉检查:6 个并行扫描代理初筛,5 个验证代理逐一核实每个候选删除是否被更强的保留用例覆盖或确认为死代码。
  3. 执行删除:在 23 个文件中删除对应的测试类和方法,总计 770 行。
  4. 完善规则文档:修改 .claude/rules/unit-test-admission.md,新增 "Distinguishing test" 章节,明确那些看似冗余但守卫外部来源字面量或完整性契约的用例应保留,并给出保留/删除的具体示例。
  5. CI 验证:确认删除后的测试套件通过 CI(通过 /tag-and-rerun-ci 触发)。
文件 模块 状态 重要度
.claude/rules/unit-test-admission.md 代码规范 modified 6.72
test/registered/unit/model_loader/test_modelopt_loader.py ModelOpt 加载 modified 7.8
test/registered/unit/function_call/test_hunyuan_detector.py 混元检测器 modified 7.09
test/registered/unit/observability/test_trace.py 追踪层 modified 7.09
test/registered/unit/utils/test_hf_transformers.py HF 工具 modified 7.02
test/registered/unit/parser/test_code_completion_parser.py 代码补全 modified 6.39

关键符号

test_successful_fp8_quantization test_reference_zero_arg_inline TestDataclasses TestPatchRopeParametersValidation

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险较低。每个删除都有更强的保留用例覆盖或验证为死代码。改进的规则文档增加了"区分性测试"章节,防止误删有价值的测试。潜在风险是可能删除了一些看似冗余但实际测试特定边界条件的用例,但经过多重验证,风险可控。

对用户无影响。对开发者:减少了 CI 运行时间和测试维护量;规则文档提供了更清晰的测试编写指南。对团队:需要确保未来添加测试时遵循新规则。

依赖验证代理结果 规则文档可能被误解导致过度删除

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论