# Project Test

> 新增、修复或整理自动化测试，诊断测试失败与不稳定性，审查测试的行为覆盖和维护价值。

- Skill: `neavo/project-test` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add neavo/project-test`
- Raw SKILL.md: https://api.skillmd.com/api/skills/neavo/project-test/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: neavo (https://skillmd.com/u/neavo)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/neavo/project-test

---


# 项目测试

用稳定的测试证明请求中的可观察行为。任务模式与授权遵循仓库行动规则，项目命令和验证范围使用仓库声明的入口。

## 确定测试目标

先明确需要证明的行为或契约，并检查现有测试是否已有充分证据。补齐缺失信息时，命令查脚本，环境查配置与依赖，行为查公开入口、相关调用链和相邻测试。

以输入、可观察结果和真实边界定义场景。人类阅读内容的措辞调整可直接审阅；键集合、占位符、格式、解析、加载、选择与回退等机器契约按其行为验证。产品运行时指令改变 Agent 行为时，依据明确的行为目标和已有评估入口选择验证方式。

修复可稳定复现的缺陷时，保留修复前因预期原因失败、修复后通过的回归证据；无法可靠重现时说明已有证据和缺口。整理测试以业务行为保持不变为完成依据。

## 选择观察与隔离

|目标|适合的观察入口|
|---|---|
|规则、转换、校验|公开函数的结果与错误|
|组件、Hook、Context|用户可操作的 DOM、公开状态、回调或返回值|
|存储、文件系统、适配器|真实协作者的公开结果与持久化状态|
|API、事件、前后端载荷|生产者实际输出与消费者处理结果|
|宿主、进程、浏览器特有行为|能覆盖具体环境风险的集成或 smoke|

- **断言依据**：优先断言公开结果。参数和次数本身属于协议、计费、幂等或调度契约时，可以断言调用。
- **精确值**：协议、格式、迁移、兼容、安全或明确产品要求可提供独立预期。可调预设按关系、边界和消费行为验证；只有实现字面量可供复制时，重新判断测试价值。
- **协作者**：运行快速、确定且适合场景的真实逻辑；远程服务、时间、随机数、系统接口或昂贵资源需要隔离时使用 fake、stub 或 mock。涉及数据库方言、锁、文件权限等真实语义时选择对应环境。
- **副作用与异步**：使用临时目录、测试数据库和明确提供的测试环境。每个测试负责状态隔离与清理，等待有界的完成信号；使用 fake timer、手动挂载或后台任务时恢复计时器、卸载并回收资源。
- **界面**：优先使用项目已有交互工具和用户可见语义。像素布局、裁剪、响应式等结果需要浏览器或视觉证据时，选择对应验证。

## 调整与验证

测试组织遵循仓库约定，让行为与失败原因易于定位；夹具和 helper 放在实际共享范围。改善可测性时可分离真实副作用、收口重复逻辑，保留公开默认值、错误和持久化语义。

从当前实现的目标测试取得证据，共享逻辑或契约变化时覆盖直接受影响的调用者；验证范围与完成条件按仓库验证入口执行。

失败区分本次引入、既有失败、环境缺口和不稳定失败，归因须有基线、日志或缺失依赖等证据。疑似不稳定时为确认重复性做有限重跑并记录频次；修复应解释失败原因并保留有效断言。

交付说明目标行为的证据、实际命令与结果，以及有依据的失败分类和未验证范围。审查结论明确区分候选信号与已确认问题。

## 按需参考

- 审查、合并、清理或重构已有测试时，读取 [测试审查与整理](references/test-audit.md)。
- 变更跨层契约、通信或宿主协作行为时，读取 [跨边界测试](references/cross-stack-boundaries.md)。

