Syy siihen, miksi yksittäisen luokan testaaminen on vaikeaa, on että luokkaa ei voi alustaa jokaista testiä varten uudelleen, koska se voidaan alustaa vain kerran (ja siten antaa sinulle paljon työtä asettaaksesi kaikki arvot oikein jokaisessa testissä).
Miksi singletonin testaaminen on vaikeaa?
Singletoneja käyttävää koodia on vaikea testata.
Et voi hallita singleton-objektin luomista, koska se luodaan usein staattisella alustuksella tai staattisella menetelmällä. Tämän seurauksena et myöskään voi pilkata kyseisen Singleton-instanssin käyttäytymistä.
Mikä ongelma singletonissa on?
Singletonit estävät yksikkötestausta: Singleton saattaa aiheuttaa ongelmia testattavan koodin kirjoittamisessa, jos objekti ja siihen liittyvät menetelmät ovat niin tiiviisti kytkettyjä, että testaaminen ilman kirjoittamista on mahdotonta täysin toimiva luokka, joka on omistettu Singletonille.
Mitkä ovat singletonin haitat yksikkötestauksessa?
Jotta haluat suorittaa singletoneja sisältävän koodin testivaljaissa, meidän on vapautettava singleton-ominaisuus. Näin teemme sen. Ensimmäinen askel on lisätä uusi staattinen menetelmä singleton-luokkaan. Menetelmän avulla voimme korvata staattisen ilmentymän singletonissa.
Miksi singleton häiritsee yksikkötestausta?
Yksikkötestauksessa jokaisen yksikkötestin tulee olla riippumaton toisistaan. Toinen syy, jonka vuoksi Singleton-suunnittelumalli vaikeuttaa elämääsi yksikkötestauksessa, on koska ne pysyvät muistissa, kunnes sovellus on elossa Näin ollen ne pysyvät tilassa niin kauan kuin sovellus pysyy muisti.