Dôvod, prečo je ťažké testovať triedu singleton, je že nemôžete inicializovať triedu pre každý test znova, pretože ju možno inicializovať iba raz (a teda vám dá veľa práce správne nastaviť všetky hodnoty pre každý test).
Prečo je ťažké testovať singleton?
Je ťažké otestovať kód, ktorý používa singletony.
Vytvorenie objektu singleton nemôžete ovládať, pretože sa často vytvára statickým inicializátorom alebo statickou metódou. V dôsledku toho tiež nemôžete zosmiešňovať správanie tejto inštancie Singleton.
Aký je problém so singletonkami?
Singletony bránia testovaniu jednotiek: Singleton môže spôsobiť problémy pri písaní testovateľného kódu, ak sú objekt a metódy s ním spojené tak tesne, že je nemožné testovať bez zápisu plne funkčná trieda venovaná Singletonovi.
Aké sú nevýhody singletonu pri testovaní jednotiek?
Ak chcete spustiť kód obsahujúci singletony v testovacom zväzku, musíme uvoľniť vlastnosť singleton. Tu je návod, ako to robíme. Prvým krokom je pridanie novej statickej metódy do triedy singleton. Táto metóda nám umožňuje nahradiť statickú inštanciu v singletone.
Prečo singleton zasahuje do testovania jednotiek?
Pri testovaní jednotiek by mal byť každý test jednotky jeden od druhého nezávislý. Ďalším dôvodom, pre ktorý vám dizajnový vzor Singleton sťažuje život pri testovaní jednotiek, je pretože zostávajú v pamäti, kým aplikácia nie je nažive Preto zostávajú v stave, kým aplikácia zostáva v pamäť.