---
name: test-gen
description: 测试用例生成。分析被测对象，设计并编写测试。
triggers:
  - 写测试
  - 补充用例
  - test generation
  - generate tests
  - 测试生成
tools: [Bash, Read, Write, Edit, Grep, Glob]
user-invocable: true
---

# test-gen

测试用例生成。分析被测对象，设计并编写测试。

## 触发条件

- 新增函数需要测试
- 现有代码缺少测试覆盖
- 边界条件需要补充测试
- 回归测试需要编写

## 方法论

### Step 1: 分析被测对象

1. 函数签名（参数、返回值）
2. 依赖关系（外部调用、数据库、网络）
3. 边界条件（空值、极值、类型转换）
4. 异常路径（错误输入、异常情况）

### Step 2: 设计测试用例

| 类型 | 说明 | 示例 |
|------|------|------|
| 正常路径 | 符合预期的输入 | 正常用户输入 |
| 边界条件 | 边界值和极值 | 空字符串、最大值 |
| 异常路径 | 错误输入和异常 | null、类型错误 |
| 等价类 | 等价类划分 | 不同类型的输入 |

### Step 3: 编写测试

1. 使用项目现有测试框架
2. 遵循项目测试风格
3. 包含清晰的断言和注释
4. 测试命名要描述行为

### Step 4: 验证测试

1. 运行测试确认通过
2. 检查覆盖率（如果项目支持）
3. 确保测试可重复运行

## 输出格式

```
## 测试报告

### 被测对象
[函数/模块名称和位置]

### 测试用例
| 用例 | 输入 | 预期输出 | 状态 |
|------|------|----------|------|
| 正常路径 | ... | ... | ✅ |
| 边界条件 | ... | ... | ✅ |

### 覆盖率
[如果可用]
```

## 注意事项

- 测试要独立，不依赖外部状态
- 测试要可重复，不依赖执行顺序
- 测试要快速，避免慢速测试
- 测试要清晰，命名要描述行为
