2010-07-06 3 views
1

J'ai cherché sur les forums et sur le Web et je n'ai pas vraiment vu une réponse directe à cette question.Utilisation de Moles pour se moquer des classes créées par l'utilisateur

Je viens d'être présenté aux taupes et j'ai lu qu'il peut se moquer de tout appel de classe ou de fonction .NET. Cependant, je me demande s'il est possible d'utiliser Moles pour se moquer des classes que j'ai créées moi-même. J'ai déjà utilisé MOQ auparavant et j'ai lu que certaines personnes utilisaient à la fois Moles et [insérer d'autres frameworks moqueurs] en tandem mais je pensais qu'il serait plus pratique de s'en tenir à un seul.

Ma question centrale est la suivante:

Peut-taupes être utilisé pour les classes/fonctions simulacres que je créé moi-même?

edit: J'ai vu le processus effectué plusieurs fois avec DateTime et créer un fichier .moles avec mscorlib dans le fichier xml. Étant donné qu'une classe créée par l'utilisateur ne provient pas d'une bibliothèque .NET, comment cela se fait-il?

+0

Il n'y a rien de spécial à propos du code de l'infrastructure. Une classe que vous créez est comme n'importe quelle autre classe dans le framework (plus ou moins). Ergo, si vous pouvez "mole" n'importe quelle classe dans le cadre, vous devriez être en mesure de "mole" vos propres classes aussi bien. –

Répondre

2

Oui, comme vous l'avez dit, les Moles peuvent se moquer de tout type .NET, y compris les types créés par l'utilisateur final.


Mise à jour:

Après avoir installé taupes:

  1. Créer un nouveau projet de bibliothèque de classes pour tenir les tests unitaires pour le code que vous voulez tester;
  2. Dans ce projet, ajoutez une référence à la bibliothèque ou à l'exécutable contenant le code qui sera testé;
  3. Construire le projet de test afin de copier la bibliothèque référencée dans le répertoire de sortie local;
  4. Cliquez avec le bouton droit de la souris sur le menu contextuel invoquer référence invoquée dans lequel l'option Ajouter un assemblage de moles s'affiche.
+0

Dans les exemples que j'ai vus (tous se moquent de DateTime) et ils utilisent moles pour créer un fichier XML et de changer une ligne pour dire AssemblyName = "mscorlib" Depuis une classe faite par l'utilisateur ne vient pas d'un Bibliothèque .NET, je ne sais pas quoi faire à ce stade. – Brian

+0

Vous ne devriez pas avoir besoin de changer quelque chose dans le fichier xml, cela devrait fonctionner correctement. – Gorgsenegger

Questions connexes