Ne moraju nuzno ici unit testovi, i ne mora se nuzno zvati dir “test” ni “tests”. Moze se zvati i “foobar” ako zelis i mozes ih organizirati kako god ti hoces.
Zapravo zasto bi uopce pisao testove? Cilj je da kad pokrenes testove dobijes informaciju ako si nesto strgao, ilitiga da sve radi kako treba raditi ukoliko svi testovi prodju.
Stoga pisemo testove jer ih racunalo moze jako brzo izvesti automatski u par sekundi/minuta za ono sto bi tebi trebalo rucno puno duze vremena (+ otvaranje browsera ili komandne linije, sto je sporo i nepotrebno).
Plus preciznije je, racunalo nece zaboraviti nesto testirati kao sto bi human mogao zaboraviti.
Vrijedi napomenuti da osim unit testova postoji jos tipova testova poput integracijskih, funkcionalnih, acceptance, end-to-end, smoke testova itd… Zargon oko testiranja je cesto konfuzan i opcenito cijela zajednica se jos ne moze dogovoriti oko nekih konvencija i naminga, tako da te to ne zbunjuje.
Prema tome pises testove na onaj nacin i za sve ono sto tebi kao developeru govori da, ukoliko su mi svi testovi prosli, aplikacija ili library zaista rade. Ne pises testove samo zato jer ih i svi ostali pisu, niti ih pises u istom stilu kako svi ostali pisu, sve zavisi od same aplikacije s kojom radis i tvojim potrebama.
S obzirom da se bavis PHP-om, preporucam da pogledas neki od popularnih PHP repozitorija na Githubu kako testiraju kod, poput Laravela.
Usput: repozitorij koji si linkao u jednom od prethodnih postova ne trebas gledati kao ogledni primjer kako se kod pise ili testira, jer su i kod i testovi jako losi.