🚀 快速安装
复制以下命令并运行,立即安装此 Skill:
npx @anthropic-ai/skills install github/awesome-copilot/polyglot-test-agent
💡 提示:需要 Node.js 和 NPM
多语言测试生成技能
一项由 AI 驱动的技能,通过协调的多代理流水线为任何编程语言生成全面、可工作的单元测试。
何时使用此技能
在需要以下操作时,可使用此技能:
- 为整个项目或特定文件生成单元测试
- 提高现有代码库的测试覆盖率
- 创建遵循项目约定的测试文件
- 编写能够实际编译并通过的测试
- 为新功能或未经测试的代码添加测试
工作原理
此技能在研究 → 计划 → 实施的流水线中协调多个专门的代理:
流水线概述
┌─────────────────────────────────────────────────────────────┐
│ 测试生成器 │
│ 协调整个流水线并管理状态 │
└─────────────────────┬───────────────────────────────────────┘
│
┌─────────────┼─────────────┐
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────────┐
│ 研究员 │ │ 规划器 │ │ 实施器 │
│ │ │ │ │ │
│ 分析 │→ │ 创建 │→ │ 按阶段 │
│ 代码库 │ │ 分阶段计划 │ │ 编写测试 │
│ │ │ │ │ │
└───────────┘ └───────────┘ └───────┬───────┘
│
┌─────────┬───────┼───────────┐
▼ ▼ ▼ ▼
┌─────────┐ ┌───────┐ ┌───────┐ ┌───────┐
│ 构建器 │ │ 测试器 │ │ 修复器 │ │ 代码 │
│ │ │ │ │ │ │ 检查器 │
│ 编译代码 │ │ 运行 │ │ 修复 │ │ 格式化 │
│ │ │ 测试 │ │ 错误 │ │ 代码 │
└─────────┘ └───────┘ └───────┘ └───────┘
分步说明
步骤 1:确定用户请求
确保你理解用户的请求及其范围。
当用户没有对测试风格、覆盖目标或约定提出明确要求时,请从 unit-test-generation.prompt.md 获取指南。此提示提供了发现约定、参数化策略、覆盖目标(目标 80%)以及特定语言模式的最佳实践。
步骤 2:调用测试生成器
首先使用你的测试生成请求调用 polyglot-test-generator 代理:
为 [要测试的路径或描述] 生成单元测试,遵循 [unit-test-generation.prompt.md](unit-test-generation.prompt.md) 的指南
测试生成器将自动管理整个流水线。
步骤 3:研究阶段(自动)
polyglot-test-researcher 代理分析你的代码库以了解:
- 语言与框架:检测 C#、TypeScript、Python、Go、Rust、Java 等。
- 测试框架:识别 MSTest、xUnit、Jest、pytest、go test 等。
- 项目结构:映射源文件、现有测试和依赖项。
- 构建命令:发现如何构建和测试项目。
输出:.testagent/research.md
步骤 4:规划阶段(自动)
polyglot-test-planner 代理创建一个结构化的实施计划:
- 将文件分组为逻辑阶段(通常 2-5 个阶段)
- 按复杂度和依赖关系确定优先级
- 为每个文件指定测试用例
- 为每个阶段定义成功标准
输出:.testagent/plan.md
步骤 5:实施阶段(自动)
polyglot-test-implementer 代理按顺序执行每个阶段:
- 读取源文件以理解 API
- 编写遵循项目模式的测试文件
- 使用
polyglot-test-builder子代理构建以验证编译 - 使用
polyglot-test-tester子代理测试以验证测试通过 - 如果出现错误,使用
polyglot-test-fixer子代理修复 - 使用
polyglot-test-linter子代理检查代码格式
每个阶段完成后再开始下一个阶段,确保增量式进展。
覆盖类型
- 快乐路径:有效输入产生预期输出
- 边缘情况:空值、边界、特殊字符
- 错误情况:无效输入、空值处理、异常
状态管理
所有流水线状态都存储在 .testagent/ 文件夹中:
| 文件 | 用途 |
|---|---|
.testagent/research.md |
代码库分析结果 |
.testagent/plan.md |
分阶段实施计划 |
.testagent/status.md |
进度跟踪(可选) |
示例
示例 1:完整项目测试
为我在 C:\src\Calculator 的计算器项目生成单元测试
示例 2:特定文件测试
为 src/services/UserService.ts 生成单元测试
示例 3:针对性覆盖
为身份验证模块添加测试,重点关注边缘情况
代理参考
| 代理 | 用途 | 工具 |
|---|---|---|
polyglot-test-generator |
协调流水线 | runCommands, codebase, editFiles, search, runSubagent |
polyglot-test-researcher |
分析代码库 | runCommands, codebase, editFiles, search, fetch, runSubagent |
polyglot-test-planner |
创建测试计划 | codebase, editFiles, search, runSubagent |
polyglot-test-implementer |
编写测试文件 | runCommands, codebase, editFiles, search, runSubagent |
polyglot-test-builder |
编译代码 | runCommands, codebase, search |
polyglot-test-tester |
运行测试 | runCommands, codebase, search |
polyglot-test-fixer |
修复错误 | runCommands, codebase, editFiles, search |
polyglot-test-linter |
格式化代码 | runCommands, codebase, search |
要求
- 项目必须配置有构建/测试系统
- 应安装(或可安装)测试框架
- 安装了 GitHub Copilot 扩展的 VS Code
故障排除
测试无法编译
polyglot-test-fixer 代理将尝试解决编译错误。查看 .testagent/plan.md 以了解预期的测试结构。
测试失败
审查测试输出并调整测试预期。某些测试可能需要模拟依赖项。
检测到错误的测试框架
在初始请求中指定你偏好的框架:“为…生成 Jest 测试…”
📄 原始文档
完整文档(英文):
https://skills.sh/github/awesome-copilot/polyglot-test-agent
💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

评论(0)