该技能面向测试自动化,专注为现有代码生成全面、可维护的单元测试,支持多语言与多框架,强调最大化覆盖率、捕获边缘情况,并遵循断言质量与测试组织的最佳实践。
适用场景:当你需要为已有代码补充单元测试、希望获得一致的测试结构与覆盖率、需要 mock、fixture 与边缘用例校验时使用。
不适用场景:仅需要集成或端到端测试、无法访问被测源码、或因合规要求必须手写测试时,不应使用该技能。
主要能力:
- 代码分析:扫描代码库,识别未被测试的代码,为生成测试套件做准备。示例中提供 Python 的 AST 分析,提取函数、类、参数、返回值、装饰器、文档字符串与复杂度,并映射语言到框架(python→pytest、javascript/typescript→jest、java→junit、go→testing)。
- Python pytest 生成:根据分析结果生成 pytest 测试文件,包含导入、mock 导入,为公开函数生成成功路径、空输入异常、错误处理等测试;为类生成 fixture 与各方法测试。
- JavaScript/TypeScript Jest 生成:按函数名与参数生成测试用例,覆盖有效输入返回预期结果、null 输入优雅处理、无效输入抛错等,并格式化为 describe/it 结构,生成 mock 参数。
- React 组件测试:生成基于 @testing-library/react 的测试,覆盖渲染不崩溃、初始状态、用户交互、props 更新等。
- 覆盖率分析与缺口检测:运行带覆盖率的测试命令,解析 JSON 结果,输出整体覆盖率、未覆盖行、低于阈值(示例为 80%)的文件,并可为未覆盖代码生成针对性测试。
- Mock 生成:为外部依赖生成基于 unittest.mock 的 fixture,使用 Mock(spec=依赖) 并设置返回值。
输出格式:可运行的完整测试套件、带缺口识别的覆盖率报告、外部依赖 mock fixture、测试场景说明文档、CI 集成命令。
限制:仅在任务明确匹配上述范围时使用;输出不应替代针对具体环境的验证、测试或专家审查;若缺少必要输入、权限、安全边界或成功标准,应停止并寻求澄清。
使用方式:资料中给出 $ARGUMENTS 占位与上述分析、生成、覆盖率、mock 的代码示例,未提供安装命令或具体调用步骤,暂未提供。