用途:该技能面向“自动生成单元测试”。原文将其定位为测试自动化专家,目标是为多种语言与框架生成全面、可维护的单元测试,并尽量扩大覆盖率、捕获边界情况,同时遵循断言质量与测试组织方面的最佳实践。
主要能力:
- 代码分析与测试生成:扫描代码库,识别未被测试的代码并生成测试套件。示例实现包含 TestGenerator 类,按语言映射框架(python→pytest、javascript→jest、typescript→jest、java→junit、go→testing),并能分析文件、提取可测试单元。Python 侧通过 ast 解析函数与类,收集函数名、参数、返回类型、装饰器、docstring 与复杂度等信息。
- 生成 Python(pytest)测试:根据分析结果生成测试文件,导入 pytest 与 unittest.mock,为公共函数与类生成测试类;包含正常路径测试、空输入等边界测试(使用 pytest.raises 校验 ValueError/TypeError)、异常处理测试,以及基于 pytest.fixture 的类实例测试。
- 生成 JavaScript/TypeScript(Jest)测试:通过 JestTestGenerator 生成 describe/it 结构用例,覆盖“合法输入返回预期结果”“null 输入优雅处理”“非法输入抛错”等场景,并格式化输出、生成 mock 参数名。
- 生成 React 组件测试:示例使用 @testing-library/react 的 render、screen、fireEvent,测试组件是否正常渲染、初始状态、用户交互与 props 更新。
- 覆盖率分析与缺口检测:CoverageAnalyzer 运行带覆盖率与 JSON 输出的测试命令,统计整体覆盖率、识别未覆盖行、找出低于 80% 阈值的文件,并可为未覆盖代码生成针对性测试。
- Mock 生成:根据外部依赖列表生成 pytest fixture 形式的 Mock/MagicMock 对象,提供 spec 与返回值设置。
使用方式:原文以技能说明形式给出,包含 $ARGUMENTS 要求项;随后按步骤执行:分析代码以便生成测试、生成 Python 测试、生成 JS/TS 测试、生成 React 组件测试、做覆盖率分析与缺口检测、生成 Mock。输出格式包括:可直接运行的完整测试套件、含缺口的覆盖率报告、外部依赖的 Mock fixtures、测试场景说明文档,以及在 CI 流水线中运行测试的命令。具体触发调用方式、安装命令与参数格式,原文未提供。
适用场景:需要为已有代码补单元测试;希望测试结构与覆盖保持一致;需要 mock、fixture 与边界情况校验。
限制:不适用场景包括——只需要集成测试或端到端测试;无法访问被测源码;因合规要求必须手写测试。此外,示例代码中的框架映射、80% 覆盖率阈值等均为原文示例设定;平台支持范围、收费与价格信息,原文未提供。