🚀 快速安装

复制以下命令并运行,立即安装此 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 代理按顺序执行每个阶段:

  1. 读取源文件以理解 API
  2. 编写遵循项目模式的测试文件
  3. 使用 polyglot-test-builder 子代理构建以验证编译
  4. 使用 polyglot-test-tester 子代理测试以验证测试通过
  5. 如果出现错误,使用 polyglot-test-fixer 子代理修复
  6. 使用 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 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。