From aims-toolkit
TDD, 테스트 주도 개발, 테스트 먼저, RED-GREEN-REFACTOR - Red-Green-Refactor TDD workflow. Writes failing tests first, then implements minimal code to pass. Use when implementing features test-first or when strict TDD process is needed. Do NOT use for test strategy planning (use testing-strategy) or E2E browser tests (use e2e-runner).
npx claudepluginhub aimskr/aims-claude-toolkit --plugin aims-toolkitThis skill uses the workspace's default tool permissions.
테스트 주도 개발 워크플로우입니다. 테스트를 먼저 작성하고, 테스트를 통과하는 코드를 구현합니다.
Test-Driven Development guidance. Use when writing code, implementing features, or fixing bugs in projects that follow TDD methodology. Provides the Red-Green-Refactor cycle structure.
Guides TDD workflow with red-green-refactor cycle: plan interfaces, tracer bullet tests, minimal implementation to green, refactor under tests. For explicit TDD requests only.
Guides Test-Driven Development with red-green-refactor workflow and 42 prioritized rules for test design, isolation, data management, and organization.
Share bugs, ideas, or general feedback.
테스트 주도 개발 워크플로우입니다. 테스트를 먼저 작성하고, 테스트를 통과하는 코드를 구현합니다.
ALWAYS write tests first, then implement code to make tests pass.
🔴 RED: 실패하는 테스트 작성
↓
🟢 GREEN: 테스트를 통과하는 최소한의 코드 작성
↓
🔵 REFACTOR: 코드 개선 (테스트는 계속 통과)
↓
반복
As a [role],
I want to [action],
So that [benefit]
1. 입력 타입 정의
2. 출력 타입 정의
3. 에러 케이스 정의
4. 경계 조건 정의
class TestSemanticSearch:
def test_returns_relevant_results_for_valid_query(self):
service = SemanticSearchService()
results = service.search("crypto trading platform")
assert len(results) > 0
assert all(result.relevance_score > 0.5 for result in results)
def test_returns_empty_for_no_matches(self):
service = SemanticSearchService()
results = service.search("xyz123nonexistent")
assert results == []
def test_raises_error_for_empty_query(self):
service = SemanticSearchService()
with pytest.raises(ValueError, match="Query cannot be empty"):
service.search("")
테스트를 통과하는 최소한의 코드만 작성합니다.
테스트가 통과하는 상태에서 코드를 개선합니다. ⚠️ 리팩토링 후 반드시 테스트 재실행
Line 80%+, Branch 75%+, Function 90%+ 달성을 확인합니다.
테스트 유형별 가이드, 커버리지 기준, 모킹 가이드, 테스트 작성 패턴(BDD/AAA):
Read references/testing-patterns.md in this skill directory.
작업 완료 시 auto-documenter를 호출하여 프로젝트 문서를 업데이트한다.
RED-GREEN-REFACTOR 사이클 완료 + 커버리지 목표(Line 80%+, Branch 75%+, Function 90%+) 달성.
RED 단계에서 테스트가 이미 통과함: 테스트가 실제로 동작을 검증하는지 확인. 통과하는 테스트는 검증력이 없을 수 있음. assertion을 강화하거나 테스트 재작성.
REFACTOR 후 테스트 실패: 리팩토링이 동작을 변경한 것. 즉시 revert 후 더 작은 단위로 리팩토링 재시도.
커버리지 80% 미달: 테스트 누락 영역 확인 (--cov-report=term-missing). edge case/error case 테스트 추가 우선.