Hvorfor er singletons svære at teste?

Indholdsfortegnelse:

Hvorfor er singletons svære at teste?
Hvorfor er singletons svære at teste?

Video: Hvorfor er singletons svære at teste?

Video: Hvorfor er singletons svære at teste?
Video: Problems with failed, single or small litter part 1 2024, November
Anonim

Grunden til, at det er svært at teste en singleton-klasse er , at du ikke kan initialisere klassen for hver test igen, fordi den kun kan initialiseres én gang (og dermed giver dig en masse arbejde med at indstille alle værdierne korrekt for hver test).

Hvorfor er det svært at teste singleton?

Det er svært at teste kode, der bruger singletons.

Du kan ikke kontrollere oprettelsen af singleton-objektet, fordi det ofte er oprettet i en statisk initialisering eller statisk metode. Som et resultat kan du heller ikke håne adfærden i den Singleton-instans.

Hvad er problemet med singletons?

Singletons hindrer enhedstestning: En Singleton kan forårsage problemer for skrive testbar kode, hvis objektet og metoderne forbundet med det er så tæt koblet, at det bliver umuligt at teste uden at skrive en fuldt funktionel klasse dedikeret til Singleton.

Hvad er ulemperne ved singleton i enhedstestning?

For at køre kode, der indeholder singletons i en testsele, er vi nødt til at slække på singleton-egenskaben. Sådan gør vi det. Det første trin er at føje en ny statisk metode til singleton-klassen. Metoden giver os mulighed for at erstatte den statiske instans i singletonen.

Hvorfor forstyrrer singleton enhedstestning?

I enhedstest skal hver af enhedstestene være uafhængige af hinanden. En anden grund til, at Singleton-designmønsteret gør dit liv svært ved enhedstestning, er fordi de forbliver i hukommelsen, indtil applikationen er i live. Derfor bevarer de tilstanden, så længe applikationen forbliver i hukommelse.

Anbefalede: