with one click
test
测试清单 — 单测、集成、E2E、TDD 红绿重构;衔接 verify。说「写测试」「TDD」「Playwright」时用。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
测试清单 — 单测、集成、E2E、TDD 红绿重构;衔接 verify。说「写测试」「TDD」「Playwright」时用。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
总入口(/master)— 迷路时 AskQuestion 路由 plan/run/learn 等
交付验收(/delivery):视觉 · i18n · 文档对齐 · 后端对接 · 组件完整度 · 可维护性 · 生产就绪。Sprint 收尾或 /release 分支前走查。说「交付验收」「上线前检查」「生产就绪」时用。
规划(/plan):需求→先总后分→Sprint→plan.md→/run。说「规划」「拆任务」时用。禁止写业务代码。≠ IDE Plan 模式。
Sprint 出口(/release):分支 merge/PR/保留/丢弃 4 选 1 · semver · CHANGELOG · tag。 说「收尾」「merge」「开 PR」「发版」「打 tag」「分支怎么办」时用。自治发版→ship agent。
执行(/run):gate-check→ACTIVE→验收→审计→CHANGELOG→README(门面)→plan→必 commit。每任务/Sprint 收尾自动提交。
脚手架(/scaffold):空项目创建栈模板,已有项目审计与建议。说「初始化」「创建项目」「脚手架」时用。须用户确认后再创建。
| name | test |
| description | 测试清单 — 单测、集成、E2E、TDD 红绿重构;衔接 verify。说「写测试」「TDD」「Playwright」时用。 |
验收优先 plan 列命令;无列则用项目 ./scripts/test.sh 或 stack 默认。测试文件细则 → rules/execution/testing.mdc。
与 run 一致:红测不 ✅ task · 须实际运行 task-verify。
吸收自 SkillsMP testing-patterns(协议 only;栈细则仍看 rules/execution/testing.mdc)。
| 手法 | 何时用 | 要点 |
|---|---|---|
| Factory | 实体/DTO 构造重复、字段组合多 | 默认值 + 每测只覆盖差异字段;避免 20 行 arrange |
| Test double | 外部 I/O、时钟、随机、网络 | 优先接口边界注入;单测不真连 DB/HTTP(除非集成层) |
| Mock(函数/模块) | 断言「被调用方式」或隔离慢依赖 | mock 行为而非实现细节;一个测试一个主要 mock 面 |
| Stub | 只需固定返回值、不关心调用次数 | 比 mock 更简单时用 stub/fixture 数据 |
纪律:
vi.useFakeTimers / jest fake timers 等栈等价物| 类型 | 何时 |
|---|---|
| 单元 | 纯逻辑、utils、hooks |
| 集成 | API、DB、模块边界 |
| E2E | 关键用户路径(Playwright/Cypress 若项目已有) |
Walkthrough 若用于说明书配图(非仅冒烟)→ 与 user-manual skill 对齐 Manual Contract;行为断言仍在本 skill。
全量/发版 测试报告(汇总 verify · 非写用例)→ test-report /report · Report Contract。
层定义真源:rules/feedback/verify.mdc §分层验收(L0–L3)。本 skill 不重复该表。
task-verify;L3 进 Sprint Done when 或 nightlylearn/(如 dev-conventions.md),勿写进 .cursor/;聚合脚本仅编排(见 verify.mdc)npx playwright test 或项目 scriptwebServer 配置脚本:scripts/with_server.py(起停 dev server)· scripts/examples/(Playwright 示例)
许可:scripts/LICENSE-anthropics.txt
依赖:pip install playwright · playwright install chromium
黑盒纪律:先 python .cursor/skills/test/scripts/with_server.py --help,勿把脚本源码读入上下文。
决策树:
任务 → 静态 HTML?
├─ 是 → 直接读 HTML 找 selector → 写 Playwright(见 examples/static_html_automation.py)
└─ 否(动态)→ server 已起?
├─ 否 → with_server.py 起服 + 你的 automation.py
└─ 是 → 侦察再行动:goto → networkidle → screenshot/DOM → 再操作
侦察再行动(动态 SPA):
page.wait_for_load_state('networkidle') — 必须先等page.locator(...).all() 探 selector多服(前后端分离):
python .cursor/skills/test/scripts/with_server.py \
--server "cd backend && python server.py" --port 3000 \
--server "cd frontend && npm run dev" --port 5173 \
-- python your_automation.py
与 debug 配合:UI 挂时抓 console(examples/console_logging.py)· 先 networkidle 再断言。