Co znamená TDD (Test-Driven Development)?

TDD, neboli vývoj řízený testy, je disciplinovaný programátorský přístup, který obrací tradiční pořadí "nejdřív kód, potom test". Místo toho vývoj probíhá v krátkých, opakujících se cyklech, které vždy začínají napsáním automatizovaného testu pro funkci, která ještě neexistuje. Tento test logicky nejprve selže, protože testovaná funkce zatím nic nedělá.

Cyklus má tři jasné kroky, známé jako "Red-Green-Refactor":

  1. Red (Červená): Napiš malý, jednoduchý test, který ověřuje jeden specifický kousek požadované funkcionality. Spusť test a sleduj, jak selže (zčervená). To je důkaz, že test funguje a že nová funkce opravdu chybí.
  2. Green (Zelená): Napiš ten nejjednodušší možný kód, který je nutný k tomu, aby test prošel (zezelenal). V této fázi se nehledí na eleganci nebo efektivitu; cílem je pouze splnit požadavky testu.
  3. Refactor (Refaktorizace): Nyní, když je funkce pokrytá funkčním testem, můžeš kód bezpečně "uklidit" a vylepšit (refaktorovat), s jistotou, že pokud testy stále procházejí, nic jsi nerozbil.

Tento přístup vede k mnohem robustnějšímu a kvalitnějšímu kódu. Nutí programátora přemýšlet o požadavcích a designu ještě před napsáním samotné logiky. Výsledkem je sada komplexních unit testů, která slouží jako záchranná síť proti budoucím chybám a zároveň jako dokonalá technická dokumentace. TDD není jen o testování; je to metodika pro navrhování promyšleného a udržitelného softwaru.