【研发类-测试开发Skills】bats-testing-patterns 技能
掌握Bash自动化测试系统(Bats)进行全面Shell脚本测试。适用于编写Shell脚本测试、CI/CD管道或需要测试驱动开发Shell实用程序时。
技能概述
bats-testing-patterns 技能是一个专门为Shell脚本设计的测试框架。该技能提供了编写全面单元测试的指导,包括测试模式、测试夹具和生产级Shell测试的最佳实践。
下载地址:agentic-awesome-skills/skills/bats-testing-patterns at main · sickn33/agentic-awesome-skills · GitHub
主要功能
- 单元测试:为Shell脚本编写全面的单元测试
- TDD实践:实现测试驱动开发流程
- CI/CD集成:在持续集成/持续部署管道中设置自动化测试
- 边界测试:测试边界情况和错误条件
- 环境验证:验证跨Shell环境的行为
触发条件
- 为Shell脚本编写单元测试
- 为脚本实现TDD(测试驱动开发)
- 在CI/CD管道中设置自动化测试
- 测试边界情况和错误条件
- 验证跨Shell环境的行为
不适用场景
⚠️ 不要在以下情况下使用:
- 项目不使用Shell脚本
- 需要超出Shell行为的集成测试
- 目标仅是代码检查或格式化
处理流程
1. 确认Shell方言和环境
确定支持的Shell类型(bash、sh、zsh等)和目标环境。
2. 设置测试结构
建立包含辅助函数和测试夹具的测试目录结构。
3. 编写测试
- 测试退出代码
- 测试输出(标准输出和标准错误)
- 测试副作用(文件创建、环境变量等)
4. 添加设置和清理
实现setup和teardown函数以准备和清理测试环境。
5. CI集成
将测试集成到CI/CD管道中实现自动化测试。
输入要求
- 需要测试的Shell脚本
- 测试场景和预期行为
- 测试数据和环境要求
输出说明
- Bats测试文件
- 测试辅助函数和夹具
- 测试执行报告
- CI/CD集成配置
最佳实践
- 测试隔离:每个测试应该独立,不依赖其他测试
- 清晰的断言:使用明确的断言验证预期结果
- 测试覆盖:覆盖正常流程、边界情况和错误处理
- 快速执行:保持测试快速执行以提高反馈速度
- 文档化:为测试添加清晰的描述和注释
资源参考
如需详细的模式和示例,请参考:
resources/implementation-playbook.md- 包含详细的模式和模板
限制说明
- 仅当任务明确符合上述范围时使用此技能
- 不要将输出视为环境特定验证、测试或专家审查的替代品
- 如果缺少所需输入、权限、安全边界或成功标准,停止并请求澄清
