Razlog zašto je teško testirati singleton klasu je što ne možete ponovo inicijalizirati klasu za svaki test, jer se može inicijalizirati samo jednom (i stoga daje vam puno posla da ispravno postavite sve vrijednosti za svaki test).
Zašto je teško testirati singleton?
Teško je testirati kod koji koristi singletonove.
Ne možete kontrolirati stvaranje singleton objekta jer se često stvara u statičkom inicijalizatoru ili statičkoj metodi. Kao rezultat toga, također se ne možete rugati ponašanju te instance Singleton.
U čemu je problem sa singletonima?
Singletons ometaju testiranje jedinica: Singleton može uzrokovati probleme za pisanje provjerljivog koda ako su objekt i metode povezane s njim tako čvrsto povezani da postaje nemoguće testirati bez pisanja potpuno funkcionalna klasa posvećena Singletonu.
Koji su nedostaci singletona u jediničnom testiranju?
Da bismo pokrenuli kod koji sadrži singletonove u testnom pojasu, moramo opustiti svojstvo singletona. Evo kako to radimo. Prvi korak je dodavanje nove statičke metode u singleton klasu. Metoda nam omogućuje zamjenu statičke instance u singletonu.
Zašto singleton ometa testiranje jedinica?
U jediničnom testiranju, svaki od jediničnih testova trebao bi biti neovisan jedan o drugom. Drugi razlog zbog kojeg uzorak dizajna Singleton otežava vaš život u jediničnom testiranju je zato što ostaju u memoriji dok aplikacija ne zaživi Stoga ostaju u stanju sve dok aplikacija ostaje u memorija.