Integrations

Tdd Workflow

Try it

Use when implementing new observable frontend behavior or fixing a behavior-changing bug where a failing test can describe the missing or incorrect behavior first. Apply to components, hooks/composables, utilities, API clients, route guards, or user workflows; pure behavior-preserving refactoring us

What it does

用“先写失败测试,再实现最小代码,再重构”的节奏交付前端功能,避免只在实现后补覆盖率。

The skill document

前端 TDD 工作流

Purpose

用“先写失败测试,再实现最小代码,再重构”的节奏交付前端功能,避免只在实现后补覆盖率。

Procedure

  1. 识别可观察行为:用户能看到的 UI、组件契约、hook/composable 返回值、路由守卫结果、API client 输出或错误状态。
  2. 先写一个最小失败测试:
    • 纯逻辑优先单元测试。
    • 组件交互优先 Testing Library / Vue Test Utils。
    • 跨页关键流程优先 Playwright / Cypress。
  3. 运行该测试并确认失败原因正确,失败应来自行为尚未实现,而不是语法、导入或测试环境错误。
  4. 写刚好能通过测试的最小实现,不顺手扩大范围。
  5. 重新运行测试,确认变绿。
  6. 在测试保持通过的前提下重构命名、边界和重复逻辑。
  7. 对 bug 修复,保留能复现问题的回归测试。
  8. 每轮只扩大一个可观察行为;新需求、新边界和新异常路径各自进入下一轮。

Prove-It Pattern

修复缺陷时先让测试失败,再让它通过。若无法先失败,说明测试没有覆盖原始问题,需要收窄输入、断言或测试层级。

Frontend Test Selection

RiskPreferred Test
utils、schema、状态计算单元测试
hooks / composables单元或轻量集成测试
组件 props、emits、交互、状态组件测试
Router、Provider、Store 协作轻量集成测试
登录、支付、权限、关键 CRUDE2E 测试

Constraints

  • 不为了 TDD 引入项目没有使用且收益不清晰的新测试框架。
  • 不测试实现细节、私有状态或脆弱 DOM 结构。
  • 不把 E2E 当作所有风险的默认答案;优先选择离风险最近的测试层。
  • 如果现有仓库没有测试基础设施,先输出最小测试落地建议,再请求用户确认是否引入。
  • 不在红灯阶段同时重构;先证明问题,再最小修复,再整理结构。

Expected Output

  • 至少一个先失败后通过的测试覆盖新增或修复行为。
  • 实现保持最小范围,重构只在测试通过后进行。
  • 总结运行过的测试命令、覆盖的行为和未覆盖风险。

Related skills

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Run Git operations — commits, branches, merges, rebases, conflict resolution, and recovery — with safety rules enforced.

by Iván535 installs31 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

More from bovinphang

Browse all skills

Generate or edit diagrams, visual assets, and image workflows with reviewable PNG self-checks and bounded self-repair.

by bovinphang9 installs1 stars

Use when creating editable technical diagrams with draw.io / diagrams.net sources, including architecture diagrams, ERD, UML, sequence diagrams, flowcharts, ML model diagrams, official shape lookup, brand symbols, Graphviz auto-layout, codebase structure maps, .drawio validation, or draw.io CLI expo

by bovinphang5 installs

Use when building, reviewing, or improving frontend UI that needs product-specific design direction, design-system generation, Master/Page overrides, distinctive visual identity, anti-generic interface choices, first-screen hierarchy, UI polish, chart UX, interaction states, responsive behavior, or

by bovinphang8 installs

Use when creating or reviewing Next.js 14+ App Router projects, file routes, layouts, server/client component boundaries, SSR/SSG/ISR, streaming, metadata, middleware, server actions, or Next-specific data fetching. For generic client React component architecture, apply the project's React conventio

by bovinphang10 installs1 stars

Use when creating, reviewing, or restructuring frontend monorepos with pnpm workspace, Turborepo, Nx, multi-package dependency boundaries, task orchestration, package naming, or package publishing; Chinese triggers include monorepo, workspace, multi-package.

by bovinphang10 installs1 stars

Use when creating or reviewing Nuxt 3 projects, file routes, pages, layouts, SSR/SSG/SPA behavior, Nuxt data fetching, route middleware, plugins, modules, server routes, or Nuxt-specific Vue 3 conventions. For generic Vue component architecture, apply the project's Vue conventions separately; Chines

by bovinphang10 installs1 stars