Agent Skills
返回列表
💻

测试策略

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/testing-strategies-9p7d。

技能介绍

先解决什么问题

测试经常在跑,但回归仍然漏掉边界:测试按方法或文件堆叠,彼此共享状态,执行顺序一变就失败;为了凑覆盖率去测 getter/setter,反而漏掉算法和接口契约;快照被无脑更新,flaky test 被跳过而不是找根因。

技能如何工作

它把测试组织回到行为上:

  • 用 behavior-first 命名,而不是复制方法名。
  • 每个用例遵循 Arrange-Act-Assert,独立且自包含。
  • 契约测试用 Pact 校验 consumer 期望与 provider 能力,双方不必同时在线。
  • 小输出使用 inline snapshots,并在 code review 中仔细看 diff。
  • 算法类逻辑用 property-based testing 覆盖不变量。
  • 集成测试用 test containers 拉起真实依赖。
  • Test doubles 只做最小替身,保持 behavior-focused。

适用边界与注意点

这套策略不是特定框架的魔法,而是 review 和编写测试时的检查清单。Pact 需要你认真维护 consumer/provider 契约;snapshot 需要 review 防止把意外变更固化;property tests 需要清晰的 invariants;containers 会拖慢本地和 CI,要按测试收益取舍。CI 应把 flaky 检测视为失败,而不是忽略。

使用场景

  • 重构跨服务接口后,用 Pact 契约测试确认消费者期望仍与提供方能力一致
  • 为算法模块补测时,用属性测试覆盖边界情况与核心不变量
  • 排查 CI 偶发失败时,按清单检查测试是否共享状态或依赖执行顺序
  • 代码评审遇到快照变更时,逐行查看 diff 而不是直接重新生成

适合人员

  • 后端工程师:正在拆分微服务,需要在双方服务不同时在线时验证接口契约
  • 测试工程师:CI 中 flaky test 频繁出现,需要按检查清单定位根因并修复
  • 全栈开发者:代码评审常被快照 diff 淹没,需要判断哪些变更值得仔细复核
  • 平台工程师:负责搭建集成测试环境,希望用 test containers 引入真实依赖