AgentSkillsCN

tdd-workflow

在功能开发过程中,强制执行测试驱动开发流程的项目专用技能。 按照“定义测试用例 → 编写失败的测试 → 最小化实现 → 重构”的顺序进行。

SKILL.md
--- frontmatter
name: tdd-workflow
description: |
  기능 개발 시 Test-Driven Development 흐름을 강제하는 프로젝트 전용 스킬.
  테스트 케이스 정의 → 실패하는 테스트 작성 → 최소 구현 → 리팩토링 순서를 따른다.
scope: project
priority: high
tools: []

TDD 개발 워크플로우 규칙

목적

  • 테스트가 설계를 이끌도록 한다
  • 구현보다 요구사항을 먼저 명확히 한다
  • 불필요한 코드 작성을 방지한다

기본 원칙

  • 테스트 없는 구현은 허용하지 않는다
  • 항상 실패하는 테스트부터 시작한다
  • 테스트를 통과시키는 최소한의 코드만 작성한다
  • 테스트 통과 후에만 리팩토링을 수행한다

표준 작업 흐름

  1. 요구사항 분해
  • Given / When / Then 기반 시나리오로 분해한다
  • 이 단계에서는 코드 작성을 금지한다
  1. 테스트 케이스 목록화
  • 테스트 이름 목록을 먼저 작성한다
  • 아직 구현되지 않은 기능임을 명시한다
  1. 실패하는 테스트 작성
  • 첫 번째 테스트만 작성한다
  • 해당 테스트는 반드시 실패해야 한다
  1. 최소 구현
  • 테스트를 통과시키는 최소한의 구현만 작성한다
  • 추상화 및 최적화는 금지한다
  1. 리팩토링
  • 중복 제거 및 가독성 개선만 허용한다
  • 동작 변경은 금지한다

E2E 기반 TDD 규칙

  • 사용자 기능 변경은 E2E 테스트부터 시작한다
  • 내부 로직은 Unit Test로 분리한다
  • E2E 테스트는 흐름을 검증한다
  • Unit Test는 로직을 검증한다

테스트 작성 가이드

  • 하나의 테스트는 하나의 요구사항만 검증한다
  • 실패 원인이 명확하지 않은 테스트 작성은 금지한다
  • 테스트 설명만 보고 요구사항을 이해할 수 있어야 한다

Cursor 사용 지침

  • “테스트 먼저 작성” 요청 시 구현 코드를 제안하지 않는다
  • TDD 흐름 중에는 테스트 통과 이후에만 구현 개선을 제안한다
  • 테스트 케이스 정의 단계에서는 코드 출력을 최소화한다