( bzt | 2024. 09. 23., h – 15:56 )

Szerkesztve: 2024. 09. 23., h – 16:10

Válasz gabrielakos üzenetére

Ezt egy mock implementációval éppen meg tudod kerülni, nem?

Nem. Egyrészről nem biztos, hogy a mock és a hívása egy fájlba kerül, másrészről ha csinálsz is mock-ot, fordulni ugyan fog, de a tesztek jó eséllyel eltörnek miatta, tehát nem fogod tudni pusholni a kódbázisba a mock-al sem, hacsak nem implementálsz bele elve egy minimális működést is, hogy átverd a teszteken. De ez felesleges plusz munka, ezenkívül bennfelejtheted a kódban a mock hívást, mert ilyenkor a tesztek le fognak futni a mock-ra is.

Szóval mock-al sem biztos, hogy egyetlen fájlt elég módosítani, és ha mégis egylépésben mockolható, akkor meg (más okból de) baj az is, ha nem fut le a teszt, meg az is, ha lefut. (Előbbinél nem tudsz menteni, utóbbi hosszú távon karbantarthatatlan.)

Ugye mivel a függvények hash-ükkel vannak azonosítva, ezért egyszerre érvényes lehet a régi, a mockolt és a rendes új implementáció is egy és ugyanazon kódbázisban, ezért képtelenség kiszűrni, ha valahol elfelejtetted átírni az újra, mert mind fordulni fog (szintaktikailag nem lesz probléma, ellenben szemantikailag igen, ez azonban fordításkor nem bukik ki, csak max. jó esetben tesztelésnél, rosszabb esetben élesben).

Ember legyen a talpán aki egy ilyen kódbázist (hiba nélkül forduló régi, mockolt és új függvényekkel) képes karbantartani.