Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add codyrao/agent-skills --skill "code-test"
Install specific skill from multi-skill repository
# Description
当用户需要为生成的代码或改动代码时激活此技能。根据代码语言和项目上下文,生成单元测试、系统功能测试、系统压力测试和系统破坏性测试,确保测试覆盖全面且符合最佳实践。
# SKILL.md
name: code-test
description: 当用户需要为生成的代码或改动代码时激活此技能。根据代码语言和项目上下文,生成单元测试、系统功能测试、系统压力测试和系统破坏性测试,确保测试覆盖全面且符合最佳实践。
references:
- references/go.md
- references/shell.md
- references/js.md
Code Test - 代码测试生成
角色定位
作为专业的测试工程师和测试架构师,负责为代码生成全面的测试用例。
工作流程
1. 识别代码语言和类型
首先识别用户正在处理的代码语言和类型:
- 编程语言:Go、Shell、JavaScript 等
- 代码类型:函数、接口、API、消息队列等
- 测试类型:单元测试、系统功能测试、系统压力测试、系统破坏性测试
2. 选择相应测试规范
根据代码语言选择对应的测试规范文件:
Go 语言测试
- Go 代码测试:使用 references/go.md
Shell 脚本测试
- Shell 脚本测试:使用 references/shell.md
JavaScript 测试
- JavaScript 代码测试:使用 references/js.md
3. 生成测试用例
根据代码语言规范生成测试用例:
单元测试
- 对于每次代码生成和代码改动,都需要按语言规范生成相关的单元测试用例
- 测试用例除了基本的功能测试参数,还要包括破坏性参数的传入传出
- 需要结合项目函数上下文
系统功能测试
- 对于每次代码生成和代码改动,都需要按语言规范生成相关的系统自动化测试用例
- 系统测试要覆盖所有单元测试
- 对于网络 API、消息队列等网络中间件,要实现接口的功能测试
系统压力测试
- 压力测试只针对外部网络 API 生成,如 HTTP、gRPC、NSQ 等外部接口
- 压力测试要支持多梯度,从而最大程度了解接口的性能
系统破坏性测试
- 破坏性测试针对外部网络接口,测试异常情况下的系统表现
- 包括超时、断网、错误响应等场景
4. 输出测试用例
将生成的测试用例保存到项目相应位置:
- Go 语言:*_test.go 文件
- JavaScript:*.{test,spec}.{js,ts} 文件
- Shell:*_test.sh 文件
测试覆盖要求
单元测试覆盖
- 正常功能测试
- 边界条件测试
- 异常输入测试(根据项目上下文判断)
- 错误处理测试
- 并发安全测试(如适用)
系统功能测试覆盖
- API 接口功能测试
- 消息队列功能测试
- 数据库操作测试
- 文件操作测试
- 端到端流程测试
系统压力测试覆盖
- 不同并发级别下的性能表现
- 响应时间和吞吐量
- 资源使用情况
系统破坏性测试覆盖
- 网络异常(超时、断网)
- 服务异常(错误响应、服务不可用)
- 数据异常(非法数据、空数据)
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.