# Tdd

> Test-Driven Development workflow. Use when writing new features, fixing bugs, or refactoring code. Enforces RED-GREEN-REFACTOR cycle with 80%+ coverage.

- Skill: `selmakcby/tdd` (Agent Skill)
- Install (CLI): `npx skillmds@latest add selmakcby/tdd`
- Raw SKILL.md: https://api.skillmd.com/api/skills/selmakcby/tdd/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: selmakcby (https://skillmd.com/u/selmakcby)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/selmakcby/tdd

---


# TDD — Test-Driven Development

## Ne zaman tetiklenir
- Yeni özellik yazıldığında
- Bug fix öncesi (hatayı üreten test ilk yazılır)
- Refactor sırasında (mevcut testler yeşil kalmalı)

## RED — GREEN — REFACTOR

### 1. RED — Önce başarısız test yaz
- Yeni davranışı test olarak yaz
- Testi çalıştır, **başarısız olduğunu** gör
- Başarısız olmazsa, test gerçekten bir şey ölçmüyor demektir

### 2. GREEN — Minimum kodu yaz
- Testi geçiren **en az** kodu yaz
- Güzel olmasına çalışma, sadece geçsin
- Testin geçtiğini doğrula

### 3. REFACTOR — Temizle
- Kod çalışıyor, şimdi netleştir
- Testler yeşil kalmalı
- İsim düzelt, duplication kaldır, fonksiyonları böl

## Kapsam hedefleri

- **Genel kod:** %80+ coverage
- **Kritik:** auth, ödeme, güvenlik → %100 coverage
- **Test türleri (hepsi gerekli):**
  - Unit (fonksiyon/utility)
  - Integration (API, DB)
  - E2E (kritik kullanıcı akışları)

## Kurallar

- Önce test, sonra kod. İstisnasız.
- Test başarısız olursa kodu düzelt — **testi düzeltme**
- Tüm dış bağımlılıkları mock'la (DB, API'ler, 3. parti)
- Testler bağımsız olmalı (state paylaşmamalı)

