用途
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段落。
使用方式
该技能通过一系列步骤执行分析:
- 设置:创建
docs/unwind/layers/unit-tests/目录,并写入初始的index.md,其中包含待处理的分节链接。 - 分析并写入
service-tests.md:查找所有服务层测试,包含实际测试代码,立即写入文件并更新index.md。 - 分析并写入
domain-tests.md:查找所有领域/实体测试,写入文件并更新index.md。 - 分析并写入
utilities.md:查找测试工具、工厂、Mock,写入文件并更新index.md。 - 分析并写入
coverage-gaps.md:识别没有测试的类,写入文件并更新index.md。 - 完善
index.md:添加覆盖率汇总表。
输出格式示例中包含了配置(如 pom.xml 中的测试依赖)、测试摘要表(层级、类数、已测试数、覆盖率)、服务测试代码示例、领域测试代码示例、测试工具代码示例以及覆盖率缺口列表。
适用场景
- 需要了解项目单元测试现状,包括测试分布和覆盖率情况。
- 需要发现没有单元测试的类,以便补充测试。
- 需要整理和文档化单元测试代码,便于团队查阅。
- 适用于 Java 项目(基于示例中的 Maven 依赖、JUnit 5 和 Mockito),但技能本身可能不限于特定语言,具体以实际支持为准。
限制
- 资料中仅展示了 Java 技术栈的示例,未明确说明是否支持其他编程语言。
- 输出目录固定为
docs/unwind/layers/unit-tests/,未提供自定义路径的选项。 - 技能的具体触发方式(如命令行调用、IDE 集成等)暂未提供。
- 安装方式和收费信息暂未提供。