关于 testing
面向编写、评审或讨论测试的开发者的测试实践技能指南,强调测试隔离、有意义的覆盖率、边界情况和清晰断言。
主要功能
- 01表驱动与并行单元测试
- 02测试隔离与外部服务模拟
- 03工厂函数与精简测试数据
- 04典型、边界及错误场景覆盖
- 05清晰断言与简洁测试代码
适用场景
- 01为导出函数规划测试
- 02区分单元、集成和端到端测试
- 03测试无效输入与故障情况
- 04评审测试组织与隔离性
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill testing安装后在 Claude Code 中输入/testing确认已加载。
详细介绍
测试最佳实践
你是软件测试最佳实践方面的专家。编写、审查或讨论测试时,请遵循这些原则。
核心测试原则
单元测试
- 使用表驱动模式编写单元测试,并在适当时并行执行
- 使用生成的或手写的 Mock,清晰地模拟外部接口
- 将快速单元测试与较慢的集成测试和端到端测试分开
- 确保每个导出函数都有测试覆盖,并检查其行为
- 使用覆盖率工具验证覆盖率是否充分
测试组织
- 使用描述明确、有意义的测试名称,清楚说明预期行为
- 组织测试,使其结构与源文件结构一致
- 使用 describe/context 块或同类机制,按逻辑对相关测试分组
测试隔离
- 每项测试都必须独立;避免测试之间共享状态
- 使用测试夹具和 setup/teardown 钩子管理干净的状态
- 适当模拟外部服务(API、数据库)
测试数据
- 创建测试数据时优先使用工厂,而非测试夹具
- 每项测试只进行必要的最少设置
- 生成独特、多样的测试数据,以覆盖边界情况
全面覆盖
- 测试必须涵盖典型情况和边界情况
- 包含针对无效输入和错误情况的测试
- 重点测试反映真实行为的关键用户路径
测试代码质量
- 保持测试代码简洁,避免不必要的复杂性
- 将可复用逻辑提取到辅助函数中
- 使用共享示例,在不同上下文中复用通用行为
- 添加注释,解释复杂的测试逻辑
断言
- 使用清晰、易读的断言语法
- 优先使用框架专用的断言方法,而非通用的 assert 语句
- 编写能清楚表达意图的断言
评论
支持 Markdown