test-fixing

运行测试并利用智能错误分组系统性地修复所有失败的测试。适用于用户要求修复失败测试、提及测试失败、运行测试套件出现失败,或请求让测试通过的情况。

作者

安装

热度:2

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-test-fixing&locale=zh&source=copy

Test Fixing - 智能测试修复助手

技能概述

Test Fixing 是一个系统化修复失败测试的智能工具,通过错误分组策略和优先级排序,帮助开发者高效处理测试套件中的大量失败。

适用场景

  • 重构后的测试修复:代码重构后导致大量测试失败,需要快速定位并分类修复问题

  • CI/CD 流水线失败:持续集成流程因测试失败而中断,需要系统化排查和修复

  • 新功能测试验证:完成功能开发后,确保所有相关测试通过后再合并代码
  • 核心功能

    1. 智能错误分组

    自动分析测试失败输出,按三种维度分组:

  • 错误类型:ImportError、AttributeError、AssertionError 等

  • 影响模块:识别同一文件导致的多处失败

  • 根本原因:区分依赖缺失、API 变更、逻辑错误等
  • 系统按影响范围和依赖关系对分组进行优先级排序,确保先修复基础设施问题,再处理功能逻辑。

    2. 系统化修复流程

    为每个错误组提供结构化的修复步骤:

  • 运行完整测试套件识别所有失败

  • 分析并分组相似错误

  • 按优先级逐组修复

  • 每组修复后运行子集验证

  • 全部完成后运行完整套件确认
  • 这种"修复-验证"的迭代方式确保问题被彻底解决,不会遗漏或引入新问题。

    3. 修复顺序策略

    内置科学的修复顺序:

  • 基础设施优先:先解决导入错误、缺失依赖、配置问题

  • API 变更其次:处理函数签名变更、模块重组、重命名

  • 逻辑问题最后:处理断言失败、业务逻辑缺陷
  • 这种顺序避免在基础设施问题未解决时浪费时间调试逻辑错误。

    常见问题

    Test Fixing 能处理所有类型的测试错误吗?

    Test Fixing 专注于系统化处理常见的测试失败模式,包括导入错误、属性错误、断言失败等。对于复杂的业务逻辑问题或环境相关问题,它会提供诊断支持,但具体修复仍需开发者介入。

    修复顺序为什么重要?

    错误的修复顺序会导致重复工作和挫败感。例如,如果先修复逻辑错误但存在导入问题,修复的代码根本无法运行验证。正确的顺序是先让代码能够运行(解决导入、依赖),再确保接口正确(API 变更),最后处理业务逻辑。

    使用 Test Fixing 需要修改现有测试吗?

    不需要。Test Fixing 设计为与现有测试流程无缝集成,支持 pytest、unittest 等主流测试框架。它使用标准的测试运行命令(如 make test)和子集测试命令(如 pytest -k "pattern"),无需修改测试代码或项目结构。