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 samim tim daje vam puno posla da postavite sve vrijednosti ispravno za svaki test).
Zašto je teško testirati singleton?
Teško je testirati kod koji koristi singletons.
Ne možete kontrolisati kreiranje singleton objekta jer se često kreira u statičkom inicijalizatoru ili statičkoj metodi. Kao rezultat toga, također se ne možete rugati ponašanju te Singleton instance.
Šta 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.
Koje su mane singleton-a 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ćava da zamijenimo statičku instancu u singletonu.
Zašto singleton ometa testiranje jedinica?
U jediničnom testiranju, svaki od jediničnih testova treba da bude nezavisan jedan od drugog. Drugi razlog zbog kojeg Singleton obrazac dizajna otežava vaš život u jediničnom testiranju je zato što ostaju u memoriji dok aplikacija ne zaživi Stoga oni ostaju u stanju sve dok aplikacija ostaje u memorija.