fbpx

Ako nazývať testy?

Kedysi dávno som pracoval na projekte, kde bolo požadované pokrytie testami na 80%. Celkom fajn hodnota, taká dosiahnuteľná. Súčasťou bola aj príručka Coding Standards, kde začal môj problém. Kapitola o unit testoch požadovala, aby existoval jeden test pre testovanú metódu. Problému s týmto prístupom som sa venoval v Testujte len jednu vec. V tomto článku … Čítať viac

Testujte len jednu vec

Svet je zaplavený príliš veľkými testami. Som si istý, že ste ich už všetci videli a väčšina z vás aj napísala. Je určite áno. Časté dôvody existencie veľkých testov sú: Aký je najväčší problém veľkého testu? Podľa mňa je to jeho nečitateľnosť. Z nej vyplýva to, že nevieme čo test robí. Aké komponenty treba pripraviť, … Čítať viac

Snáď nepíšete všetky testy dopredu?

Bežným nedorozumením pri Test-Driven Development (TDD) je, že všetky testy pre vyvíjanú triedu treba napísať dopredu — skôr ako sa začne implementovať samotná funkcionalita. A prípadne tie testy môže vytvoriť niekto skúsenejší a implementáciu prenechá juniorovi. Takúto predstavu majú aj niektorí skúsení „unit testovači”, a preto sa im „TDD” nepáči. Týmto článkom by som chcel vysvetliť prečo je snaha o napísanie všetkých textov dopredu nesprávna. Teda, podľa mňa je nesprávna. Niekomu to možno funguje a je spokojný (poprosím vás o komentár).

Čítať viac

Aký test mám napísať?

Spomínam si na svoje začiatky s Test-Driven Development (TDD). Rozhodovanie, aký test mám napísať ako prvý, prípadne aký má nasledovať potom bol jeden z najväčších problémov čo som mal. Každú chvíľu som musel pomerne dlho rozmýšľať nad tým, aký test má nasledovať.

Dosť skoro som si totiž začal uvedomovať, že to aký test napíšem teraz ovplyvní produkčný kód, ktorý napíšem o chvíľu. Ovplyvní to aj to, aký test bude nasledovať. Čo má zase vplyv na budúci kód. To ma paralyzovalo.

Čítať viac

Prečo musí byť test červený?

Každý dobre vie, že testy máme na to, aby sme vedeli, či aplikácia funguje. Teda musia byť stále zelené. A keď nejaký test očervenie, tak máme problém. Treba ho opraviť. (Aspoň dúfam, že ste na vašom projekte nerezignovali a nezačali ignorovať zlyhávajúce testy.)

Tak prečo máme pri Test-Driven Developmente (TDD) povinnosť skontrolovať, že je test na začiatku červený? No predsa, aby sme vedeli, že niečo testuje.

Čítať viac

TDD cyklus

Tento článok je úmyselne krátky, lebo chcem aby fungoval ako referencia. Takto sa k nemu môžete vrátiť neskôr a pripomenúť si jednotlivé kroky. Z toho dôvodu v ňom nechcem ísť do detailov. Na to bude priestor v nasledujúcich článkoch.

Vývoj komponentu podľa Test-Driven Development (TDD) sa skladá z opakovania krátkej sekvencie krokov. Zjednodušene to vyzerá takto:

Test-Driven Development cyklus

  1. Napíš nový zlyhávajúci test (Červený test)
  2. Napíš produkčný kód tak aby všetky testy prešli (Zelený test)
  3. Refaktoruj
  4. Opakuj od bodu 1 až kým nie si hotový

Pozrime na jednotlivé kroky.

Čítať viac