Vitest Testing
提供 Vitest 单元测试与集成测试的模式与最佳实践,涵盖断言、异步测试与模拟方法。
下载 36
通过协调多个测试技能,实现项目全链路测试的自动化与质量保障。
openclaw skills install @wpank/testing-workflow命令、参数、文件名以原文为准
通过协调 testing-patterns 技能、e2e-testing 技能以及测试代理,实现对项目的全面测试编排。此元技能本身不定义测试模式,而是在每个阶段将任务路由到合适的技能或代理,并确保无遗漏。
请按顺序执行以下步骤。每一步都会指向特定的技能或代理——在进入下一步前,请先阅读并应用对应资源。
扫描项目以了解现有的测试基础设施,测量当前覆盖率,并识别差距。没有基线数据,就无法衡量改进效果。
根据发现结果,为本项目选择合适的测试方法。
ai/skills/testing/testing-patterns/SKILL.md,选择与项目架构、语言和框架相匹配的单元测试/集成测试模式。按照阶段二选定的模式生成测试用例。
ai/skills/testing/e2e-testing/SKILL.md,为阶段二中识别的关键用户流程编写端到端测试。验证新增测试是否符合质量标准和覆盖率目标。
建立持续实践,保持测试套件健康。
使用此表格将具体需求导向正确资源:
| 需求 | 路由目标 | 路径 |
|---|---|---|
| 单元/集成测试模式 | testing-patterns | ai/skills/testing/testing-patterns/SKILL.md |
| 端到端测试模式 | e2e-testing | ai/skills/testing/e2e-testing/SKILL.md |
| 代码质量标准 | clean-code | ai/skills/testing/clean-code/SKILL.md |
| 审查检查清单 | code-review | ai/skills/testing/code-review/SKILL.md |
| CI/CD 质量门禁 | quality-gates | ai/skills/testing/quality-gates/SKILL.md |
| 调试测试失败 | debugging | ai/skills/testing/debugging/SKILL.md |
当请求明确属于某一行时,可直接前往对应资源。仅在追求全面覆盖时才使用完整的编排流程。
不同项目类型的目标不同。请根据项目类型选择对应的行来设定预期:
| 项目类型 | 语句覆盖率 | 分支覆盖率 | 函数覆盖率 | 端到端流程数 | 说明 |
|---|---|---|---|---|---|
| 初创企业 MVP | 60% | 50% | 60% | 前 3 个流程 | 仅关注关键路径 |
| 生产环境应用 | 80% | 70% | 80% | 前 10 个流程 | 平衡速度与信心 |
| 库 / 包 | 90% | 85% | 95% | N/A | 公共 API 必须完全覆盖 |
| 关键基础设施 | 95% | 90% | 95% | 所有流程 | 对漏洞零容忍 |
这些是最低要求。在时间允许的情况下应追求更高标准,但不要因虚荣的指标而阻塞发布——优先考虑有意义的测试覆盖,而非百分比数字。
使用此模板记录项目的测试策略。在编排流程中填写,并保留在代码仓库中。
# 测试策略
## 项目概览
- **项目**: [name]
- **类型**: [初创MVP | 生产环境应用 | 库 | 关键基础设施]
- **主要语言**: [language]
- **框架**: [framework]
- **测试运行器**: [runner]
- **覆盖率工具**: [tool]
## 覆盖率基线
- **语句覆盖率**: [X%]
- **分支覆盖率**: [X%]
- **函数覆盖率**: [X%]
- **端到端旅程覆盖数**: [N / M]
- **测量日期**: [YYYY-MM-DD]
## 覆盖率目标
- **语句覆盖率**: [target%]
- **分支覆盖率**: [target%]
- **函数覆盖率**: [target%]
- **端到端旅程数量**: [target count]
## 选择的测试模式
- [ ] [模式1 — 选择原因]
- [ ] [模式2 — 选择原因]
- [ ] [模式3 — 选择原因]
## 关键用户旅程(端到端)
1. [旅程1 — 例如:注册 → 引导流程 → 首次操作]
2. [旅程2 — 例如:登录 → 仪表盘 → 导出]
3. [旅程3 — 例如:结账 → 支付 → 确认]
## 差距与风险
- [未测试区域1 — 风险等级,缓解计划]
- [未测试区域2 — 风险等级,缓解计划]
## 质量门禁状态
- [ ] 所有测试通过
- [ ] 覆盖率目标达成
- [ ] 关键旅程具备端到端测试覆盖
- [ ] 无未经合理解释的跳过测试
- [ ] 测试执行时间在预算范围内
- [ ] CI 强制执行覆盖率阈值在标记测试完成前,必须满足以下所有条件:
| 门禁 | 要求 | 原因 |
|---|---|---|
| 所有测试通过 | 无失败、无错误 | 不稳定的测试视为失败 |
| 覆盖率目标达成 | 语句、分支和函数覆盖率达到项目类型的阈值 | 未测试的代码即为未经验证的代码 |
| 关键旅程已覆盖 | 每个关键用户旅程均有通过的端到端测试 | 收入和用户信任依赖于这些流程 |
| 无无理由跳过 | 每个 skip、xit 或 xdescribe 必须有注释并关联问题 | 跳过的测试会演变为永久性缺口 |
| 执行时间在预算内 | 单元测试 < 60秒,端到端测试 < 10分钟 | 运行缓慢的测试套件会被开发者跳过 |
| 无测试污染 | 单独运行任一测试文件的结果与完整套件一致 | 共享状态会掩盖失败 |
| 模拟使用合理 | 每个模拟必须有注释说明为何不能使用真实实现 | 过度模拟会隐藏真实问题 |
已收录 6 个 Skill