Hogy is segit a unit-teszt ha nem a helyesseget teszteli? Tapasztalatom szerint a TDD-szerinti unit-tesztek sokszor inkabb hatraljak a refaktoralast mivel nem eleg, hogy az adott osztalyt es minden klienst refaktoralni kell meg a tomenytelen unit-tesztet is at kell irni. Nagy reszuket ki kell dobni egybol a tobbit meg lehet jol atirni, hogy a mockerdobol kivagd azokat a reszeket amiket az uj megvalositas mar nem hiv.
Szerintem sokkal tobb ertelme van az olyan teszteknek amik az osztalyt mint egeszet tesztelik az elvart funkcionalitas szempontjabol. Ilyenekbol eleg egy par es igazabol sokkal tobb erteket adnak.
A masik kedvencem, hogy a unit-tesztek a kod dokumentaciojakent is szolgalnak. Hat kozsonom szepen, olvassa mas a unit teszteket en 100-bol 100 esetben valasztanam inkabb egy Doxygen generalta API doksit de meg a magat a kodot is hamarabb nekiallok elolvasni mint a teszteket.
En egy jo ideig nagy rajongoja voltam a TDD-nek, bar hogy oszinte legyek eleg keveset hasznaltam nap-mint-nap, de minel tobbet hasznaltam annal inkabb kiabrandultam belolle. Unit teszteket mai napig irok minden kodhoz amihez lehet es erdemes de utollag es a "szerzodesekre" osszpontositva, nem tesztelem a metodusokat izolacioban, sot az osztalyokat se. Ha egy osztaly behuzza a fel projektet, am legyen, legalabb az integracio is le van tesztelve, ugy is igy lesz hasznalva.
Akkor irom elore a tesztet amikor egy hibat javitok, ilyenkor megirom elore a reprodukalot (ha lehet) es utanna javitom.
--
:wq