hello-test

GitHub

提供遵循TDD规范的测试编写指南,涵盖用例设计、红绿重构流程、覆盖策略及质量检查,支持多种测试框架。

skills/hello-test/SKILL.md hellowind777/helloagents

Trigger Scenarios

需要编写单元测试或集成测试 实施TDD开发模式 修复失败的测试用例

Install

npx skills add hellowind777/helloagents --skill hello-test -g -y
More Options

Use without installing

npx skills use hellowind777/helloagents@hello-test

指定 Agent (Claude Code)

npx skills add hellowind777/helloagents --skill hello-test -a claude-code -g -y

安装 repo 全部 skill

npx skills add hellowind777/helloagents --all -g -y

预览 repo 内 skill

npx skills add hellowind777/helloagents --list

SKILL.md

Frontmatter
{
    "name": "hello-test",
    "description": "编写测试、创建测试文件、实现测试覆盖、使用 Jest\/Vitest\/Mocha\/pytest 等测试框架,或实践 TDD、修复失败测试时使用。"
}

测试相关代码必须遵循以下规范。

编码前

先列出被测模块的公共接口、关键行为和边界条件,设计测试用例,再写测试代码。

TDD 流程(强制)

新功能和 Bug 修复必须遵循红-绿-重构循环:

  1. 红 — 写描述期望行为的测试,运行确认失败
  2. 绿 — 写最少的代码让测试通过
  3. 重构 — 清理代码,保持测试通过

如果测试写完就直接通过了,说明测试没有验证新行为——重新审视测试。 必须按垂直切片推进:一个行为 → 一个失败测试 → 最小实现 → 通过后再进入下一个行为。禁止先批量写完所有测试,再批量写实现。

豁免场景(标记 [-] 说明原因即可):

  • 纯 UI 样式调整(无逻辑变更)
  • 配置文件修改
  • 文档/注释变更
  • 快速原型探索(用户明确要求)

除豁免场景外,没有先写测试 = 不能写实现代码。

覆盖策略

  • 核心业务逻辑:单元测试必覆盖
  • API 端点:集成测试覆盖主要路径(成功 + 主要失败场景)
  • 关键用户流程:E2E 测试覆盖
  • Bug 修复:先写失败测试,再修复(红-绿验证)

测试编写

  • 测试通过公共接口验证外部可观察行为,不测试私有函数、内部调用顺序或实现形状
  • 测试名描述行为:should reject expired tokens,不是 test token
  • AAA 模式:Arrange(准备)→ Act(执行)→ Assert(断言)
  • 每个测试独立,不依赖执行顺序
  • Mock 外部依赖(数据库/API/文件系统),不 mock 被测代码本身;如果必须 mock 内部协作者,先评估接口是否过浅或测试切入点是否错误

边界用例(必须覆盖)

  • 空值:null / undefined / 空字符串 / 空数组
  • 边界值:0、-1、MAX_INT、超长字符串
  • 错误路径:无效输入、网络超时、权限不足
  • 并发:竞态条件(如果适用)

测试质量

  • 避免脆弱测试:不依赖时间、随机数、外部服务
  • 测试数据用 factory/fixture,不硬编码
  • 断言具体值,不只断言"不为空"
  • 一个测试验证一个行为
  • 好测试应能承受内部重构;如果重命名内部函数就导致测试失败,说明测试耦合了实现

交付检查

  • 测试覆盖公共接口和外部行为,不锁定实现细节
  • 核心逻辑有单元测试
  • 测试名描述行为
  • 覆盖了主要边界用例
  • 测试可独立运行

Version History

  • 79c0b48 Current 2026-08-20 08:25

Same Skill Collection

skills/commands/auto/SKILL.md
skills/commands/loop/SKILL.md
skills/hello-api/SKILL.md
skills/hello-data/SKILL.md
skills/hello-errors/SKILL.md
skills/hello-perf/SKILL.md
skills/hello-security/SKILL.md
skills/hello-ui/SKILL.md
skills/hello-write/SKILL.md
skills/_meta/SKILL.md
skills/commands/ask/SKILL.md
skills/commands/clean/SKILL.md
skills/commands/commit/SKILL.md
skills/commands/help/SKILL.md
skills/commands/init/SKILL.md
skills/commands/plan/SKILL.md
skills/commands/prd/SKILL.md
skills/commands/qa/SKILL.md
skills/commands/test/SKILL.md
skills/hello-arch/SKILL.md
skills/hello-debug/SKILL.md
skills/hello-reflect/SKILL.md
skills/hello-subagent/SKILL.md
skills/helloagents/SKILL.md
skills/qa-review/SKILL.md

Metadata

Files
0
Version
79c0b48
Hash
d05b8e54
Indexed
2026-08-20 08:25

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-25 05:50
浙ICP备14020137号-1 $방문자$