Existe-t-il un bon moyen de tester le résultat de la méthode IDisposable.Dispose()?Comment écrire un test unitaire pour le résultat de Dispose()
Merci pour toutes vos réponses.
Existe-t-il un bon moyen de tester le résultat de la méthode IDisposable.Dispose()?Comment écrire un test unitaire pour le résultat de Dispose()
Merci pour toutes vos réponses.
Après avoir appelé la méthode .Dispose()
, assurez-vous que tous les getters/setters de propriétés et de propriétés renvoient un ObjectDisposedException
.
http://msdn.microsoft.com/en-us/library/system.objectdisposedexception.aspx
Blech. 'ObjectDisposedException' est un motif de code horrible. –
D'autres idées alors? – MacX
Honnêtement, je n'ai jamais utilisé 'IDisposable' pour envelopper les ressources qui doivent être libérées. Je l'ai seulement utilisé pour tirer parti des blocs 'using' pour déclencher un événement quand mon objet est utilisé. Aussi, s'il vous plaît ne dites pas simplement que quelque chose est un modèle de code horrible, même si c'est, juste fournir une raison ou un lien vers le contenu sur la raison pour laquelle il est. –
Pour test unitaire la méthode Dispose
, invoquez Dispose
puis vérifiez vos versions moqués de votre connexion, session et cache. Assurez-vous qu'ils sont correctement fermés et nettoyés.
Je pense que cela dépend de ce que vous essayez de faire dans la méthode Dispose. Pouvez-vous expliquer un peu plus ce qui doit se passer dans la méthode Dispose? – mpenrow
Qu'est-ce que vous essayez de tester, exactement? –
J'ai une classe qui héberge des ressources, comme une IConnection, une ISession et un cache (IDictionary) qui doit être nettoyé/fermé. – MacX