De reden waarom het moeilijk is om een singleton-klasse te testen, is dat je de klasse niet voor elke test opnieuw kunt initialiseren, omdat deze maar één keer kan worden geïnitialiseerd (en dus geeft je veel werk om alle waarden voor elke test correct in te stellen).
Waarom is het moeilijk om singleton te testen?
Het is moeilijk om code te testen die singletons gebruikt.
Je hebt geen controle over het maken van het singleton-object omdat het vaak wordt gemaakt in een statische initialisatie of statische methode. Als gevolg hiervan kun je het gedrag van die Singleton-instantie ook niet spotten.
Wat is het probleem met eenlingen?
Singletons belemmeren het testen van eenheden: een Singleton kan problemen veroorzaken voor schrijven van testbare code als het object en de bijbehorende methoden zo nauw met elkaar verbonden zijn dat het onmogelijk wordt om te testen zonder te schrijven een volledig functionele klasse gewijd aan de Singleton.
Wat zijn de nadelen van singleton in unit testing?
Om code met singletons in een testharnas uit te voeren, moeten we de singleton-eigenschap versoepelen. Hier is hoe we het doen. De eerste stap is om een nieuwe statische methode toe te voegen aan de singleton class. De methode stelt ons in staat om de statische instantie in de singleton te vervangen.
Waarom verstoort singleton het testen van eenheden?
Bij unit-testen moet elk van de unit-tests onafhankelijk van elkaar zijn. Een andere reden waarom het Singleton-ontwerppatroon uw leven bij het testen van eenheden moeilijk maakt, is omdat ze in het geheugen blijven totdat de toepassing actief is Daarom blijven ze in de staat zolang de toepassing in de geheugen.