单元测试生成器Skill test-generator

这个技能用于自动生成单元测试,基于现有代码模式和测试框架,提高测试覆盖率和开发效率。关键词:单元测试、测试生成、代码分析、测试框架、自动化测试。

测试 0 次安装 0 次浏览 更新于 3/11/2026

name: test-generator description: 基于现有代码模式和测试框架生成单元测试。

测试生成器技能

基于现有代码模式和测试框架生成单元测试。

指令

当调用时:

  1. 分析代码:检查目标文件/函数以理解:

    • 函数签名和返回类型
    • 输入/输出模式
    • 边缘情况和错误处理
    • 依赖和副作用
  2. 检测测试框架:识别项目的测试设置:

    • Jest, Mocha, Vitest (JavaScript/TypeScript)
    • pytest, unittest (Python)
    • Go testing, Testify (Go)
    • JUnit, TestNG (Java)
    • RSpec, Minitest (Ruby)
  3. 生成测试:创建全面测试覆盖:

    • 正常路径场景
    • 边缘情况(null、undefined、空值、边界值)
    • 错误条件
    • 模拟外部依赖
    • 异步行为(如果适用)
  4. 遵循模式:匹配项目中的现有测试约定:

    • 文件命名(*.test.js, test.go, test.py)
    • 目录结构
    • 断言风格
    • 设置/拆卸模式

测试覆盖目标

  • 目标80%+代码覆盖率
  • 测试所有公共方法/函数
  • 测试错误处理路径
  • 测试边界条件
  • 在适当的地方包括集成测试

使用示例

@test-generator UserService.js
@test-generator src/utils/parser.py
@test-generator --coverage
@test-generator --watch

最佳实践

  • 使用描述性测试名称(描述正在测试的内容)
  • 尽可能每个测试一个断言
  • 使用安排-执行-断言(AAA)模式
  • 模拟外部依赖
  • 保持测试独立和隔离
  • 包括正面和负面测试用例
  • 为复杂测试场景添加注释

测试结构

describe('FunctionName', () => {
  it('应该正确处理有效输入', () => {
    // 安排
    // 执行
    // 断言
  });

  it('应该为无效输入抛出错误', () => {
    // 测试错误情况
  });

  it('应该处理边缘情况', () => {
    // 测试边界
  });
});