Table des matières:
- Pourquoi est-il difficile de tester singleton ?
- Quel est le problème avec les singletons ?
- Quels sont les inconvénients du singleton dans les tests unitaires ?
- Pourquoi le singleton interfère-t-il avec les tests unitaires ?
Vidéo: Pourquoi les singletons sont-ils difficiles à tester ?
2024 Auteur: Fiona Howard | [email protected]. Dernière modifié: 2024-01-10 06:37
La raison pour laquelle il est difficile de tester une classe singleton est que vous ne pouvez plus initialiser la classe pour chaque test, car elle ne peut être initialisée qu'une seule fois (et donc vous donne beaucoup de travail pour définir correctement toutes les valeurs pour chaque test).
Pourquoi est-il difficile de tester singleton ?
Il est difficile de tester du code qui utilise des singletons.
Vous ne pouvez pas contrôler la création de l'objet singleton car il est souvent créé dans un initialiseur statique ou une méthode statique. Par conséquent, vous ne pouvez pas non plus simuler le comportement de cette instance Singleton.
Quel est le problème avec les singletons ?
Les singletons entravent les tests unitaires: un singleton peut causer des problèmes pour écrire du code testable si l'objet et les méthodes qui lui sont associées sont si étroitement couplés qu'il devient impossible de tester sans écrire une classe entièrement fonctionnelle dédiée au Singleton.
Quels sont les inconvénients du singleton dans les tests unitaires ?
Pour exécuter du code contenant des singletons dans un harnais de test, nous devons assouplir la propriété singleton. Voici comment nous procédons. La première étape consiste à ajouter une nouvelle méthode statique à la classe singleton. La méthode nous permet de remplacer l'instance statique dans le singleton.
Pourquoi le singleton interfère-t-il avec les tests unitaires ?
Dans les tests unitaires, chacun des tests unitaires doit être indépendant l'un de l'autre. Une autre raison pour laquelle le modèle de conception Singleton vous rend la vie difficile dans les tests unitaires est parce qu'ils restent en mémoire jusqu'à ce que l'application soit active Par conséquent, ils persistent dans l'état tant que l'application reste dans le mémoire.
Conseillé:
Les maisons en duplex sont-elles difficiles à vendre ?
Les maisons en duplex sont plus difficiles à vendre en raison de l'âge de leurs propriétaires et de l'âge des maisons réelles Une importante population âgée essaie de vendre de nombreuses maisons en duplex. les maisons de niveau créent une offre abondante, tandis que leur décoration datée combinée à l'usure réduit la demande .
Pourquoi l'anatomie et la physiologie sont si difficiles ?
Mais d'une manière générale, l'anatomie et la physiologie peuvent être difficiles car il y a une mine d'informations à comprendre non seulement, mais il faut aussi s'en souvenir. Il existe également une gamme de nouveaux termes basés sur le latin et le grec à apprendre, qui, les jours accablants, pourraient vous faire crier:
Pourquoi les lames sont-elles plus difficiles à frapper ?
Les clubs de golf à lames sont-ils plus difficiles à frapper ? Les lames sont certainement plus difficiles à frapper que les fers à dos de cavité Comme la plupart des fers à dos de cavité ont une tête de club plus grande, les fabricants peuvent déplacer le poids plus facilement qu'avec des fers forgés.
Pourquoi les erreurs logiques sont plus difficiles à localiser ?
Les erreurs logiques sont plus difficiles à localiser car elles n'entraînent aucun message d'erreur Une erreur logique est une erreur de raisonnement du programmeur, mais ce n'est pas une erreur de le langage de programmation. Un exemple d'erreur logique serait de diviser par 2,54 au lieu de multiplier pour convertir les pouces en centimètres .
Les orchidées sont-elles difficiles à entretenir ?
Bien que leurs fleurs élégantes et leur base de fans dévoués puissent sembler être un défi à cultiver, les orchidées sont en fait une plante d'intérieur incroyablement peu d'entretien Leur soin recommandé suit un simple glaçon méthode d'arrosage que même les plus grands novices en matière de plantes peuvent gérer .