Logo cs.boatexistence.com

Proč je těžké testovat singletony?

Obsah:

Proč je těžké testovat singletony?
Proč je těžké testovat singletony?

Video: Proč je těžké testovat singletony?

Video: Proč je těžké testovat singletony?
Video: The trick for testing code that relies on singletons! 💡 2024, Smět
Anonim

Důvod, proč je těžké testovat singletonovou třídu, je že nemůžete inicializovat třídu pro každý test znovu, protože ji lze inicializovat pouze jednou (a tedy dá vám hodně práce správně nastavit všechny hodnoty pro každý test).

Proč je obtížné testovat singleton?

Je těžké otestovat kód, který používá singletony.

Vytváření objektu singleton nemůžete ovládat, protože se často vytváří statickým inicializátorem nebo statickou metodou. V důsledku toho také nemůžete zesměšňovat chování této instance Singleton.

Jaký je problém s singletony?

Singletony brání testování jednotek: Singleton může způsobit problémy při zápisu testovatelného kódu, pokud jsou objekt a metody s ním spojené tak těsně, že je nemožné testovat bez zápisu plně funkční třída věnovaná Singletonu.

Jaké jsou nevýhody singletonu při testování jednotek?

Chcete-li spustit kód obsahující singletony v testovacím svazku, musíme uvolnit vlastnost singleton. Zde je návod, jak to děláme. Prvním krokem je přidání nové statické metody do třídy singleton. Tato metoda nám umožňuje nahradit statickou instanci v singletonu.

Proč singleton zasahuje do testování jednotek?

Při testování jednotek by měl být každý test jednotky na sobě nezávislý. Dalším důvodem, proč vám návrhový vzor Singleton ztěžuje život při testování jednotek, je protože zůstávají v paměti, dokud aplikace není naživu Proto přetrvávají ve stavu, dokud aplikace zůstává v paměť.

Doporučuje: