Perché i singleton sono difficili da testare?

Sommario:

Perché i singleton sono difficili da testare?
Perché i singleton sono difficili da testare?

Video: Perché i singleton sono difficili da testare?

Video: Perché i singleton sono difficili da testare?
Video: Singleton - Design Pattern - Teoria e Pratica 2024, Novembre
Anonim

Il motivo per cui è difficile testare una classe singleton è che non puoi inizializzare nuovamente la classe per ogni test, perché può essere inizializzata solo una volta (e quindi ti dà molto lavoro per impostare correttamente tutti i valori per ogni test).

Perché è difficile testare singleton?

È difficile testare il codice che utilizza singleton.

Non puoi controllare la creazione dell'oggetto singleton perché spesso viene creato in un inizializzatore statico o in un metodo statico. Di conseguenza, non puoi nemmeno deridere il comportamento di quell'istanza Singleton.

Qual è il problema con i singleton?

I singleton ostacolano il test unitario: un Singleton potrebbe causare problemi per scrivere codice verificabile se l'oggetto e i metodi ad esso associati sono così strettamente accoppiati che diventa impossibile testare senza scrivere una classe completamente funzionale dedicata al Singleton.

Quali sono gli svantaggi del singleton negli unit test?

Per eseguire codice contenente singleton in un cablaggio di test, dobbiamo rilassare la proprietà singleton. Ecco come lo facciamo. Il primo passo è aggiungere un nuovo metodo statico alla classe singleton. Il metodo ci consente di sostituire l'istanza statica nel singleton.

Perché singleton interferisce con gli unit test?

Negli unit test, ciascuno degli unit test dovrebbe essere indipendente l'uno dall' altro. Un altro motivo per cui il modello di progettazione Singleton ti rende la vita difficile negli unit test è perché rimangono in memoria fino a quando l'applicazione è attiva Quindi persistono nello stato finché l'applicazione rimane in memoria.

Consigliato: