SuperAPI AI 工具集

uw-analyze-unit-tests

测试与质量

查看项目

更新于 10-30 09:34

技能介绍

用途

uw-analyze-unit-tests 技能用于分析单元测试的覆盖率、测试模式以及针对隔离组件测试的测试代码。它面向 Java 项目(从示例看使用 JUnit 5 和 Mockito),通过扫描代码库生成结构化的单元测试分析文档,帮助开发者了解现有测试的分布、覆盖情况以及缺失测试的类。

主要能力

  • 查找并分析服务层测试、领域/实体测试、测试工具(如工厂类、Mock 对象)以及覆盖率缺口(没有单元测试的类)。
  • 输出结构化的文档到 docs/unwind/layers/unit-tests/ 目录,包括 index.md(测试摘要、覆盖率概览)以及分节文件(如 service-tests.md、domain-tests.md、utilities.md、coverage-gaps.md)。
  • 对于大型代码库(50 个以上测试文件),支持按领域拆分文件,例如 users-tests.md、orders-tests.md 等。
  • 遵循分析原则:完整性、机器可读、链接到源代码、不添加评论、增量写入。
  • 提供增量写入流程:先创建目录和初始 index.md,然后逐步分析并写入各分节文件,每次写入后更新 index.md,最后完善 index.md 中的覆盖率汇总表。
  • 支持刷新模式:如果目标目录已存在,则比较当前状态,并在 index.md 中添加 ## Changes Since Last Review 段落。

使用方式

该技能通过一系列步骤执行分析:

  1. 设置:创建 docs/unwind/layers/unit-tests/ 目录,并写入初始的 index.md,其中包含待处理的分节链接。
  2. 分析并写入 service-tests.md:查找所有服务层测试,包含实际测试代码,立即写入文件并更新 index.md。
  3. 分析并写入 domain-tests.md:查找所有领域/实体测试,写入文件并更新 index.md。
  4. 分析并写入 utilities.md:查找测试工具、工厂、Mock,写入文件并更新 index.md。
  5. 分析并写入 coverage-gaps.md:识别没有测试的类,写入文件并更新 index.md。
  6. 完善 index.md:添加覆盖率汇总表。

输出格式示例中包含了配置(如 pom.xml 中的测试依赖)、测试摘要表(层级、类数、已测试数、覆盖率)、服务测试代码示例、领域测试代码示例、测试工具代码示例以及覆盖率缺口列表。

适用场景

  • 需要了解项目单元测试现状,包括测试分布和覆盖率情况。
  • 需要发现没有单元测试的类,以便补充测试。
  • 需要整理和文档化单元测试代码,便于团队查阅。
  • 适用于 Java 项目(基于示例中的 Maven 依赖、JUnit 5 和 Mockito),但技能本身可能不限于特定语言,具体以实际支持为准。

限制

  • 资料中仅展示了 Java 技术栈的示例,未明确说明是否支持其他编程语言。
  • 输出目录固定为 docs/unwind/layers/unit-tests/,未提供自定义路径的选项。
  • 技能的具体触发方式(如命令行调用、IDE 集成等)暂未提供。
  • 安装方式和收费信息暂未提供。