2009-12-30 13 views
0

J'utilise MoQ pour tester certains contrôleurs dont je dispose. Je ne suis pas capable de définir les attentes. Voici le code que j'ai:Définition des attentes sur MoQ

 var rep = new Mock<IUserRepository>(); 
     rep.Setup(r => r.Save()); 

Le problème est que ma méthode Save() attend un objet User que je ne peux pas mettre dans l'attente car une instance de celui-ci sera créé par le contrôleur. Est-il possible de définir une attente sans passer un paramètre spécifique, et de vérifier si la méthode a été appelée quel que soit le paramètre passé?

Répondre

4

Pouvez-vous expliquer ce que vous entendez par "la méthode Save() attend un objet User"? Est-ce que ça l'attend comme un paramètre? Si oui, vous pouvez définir que dans la configuration:

rep.Setup(r => r.Save(It.IsAny<SomeObjectType>())

Et il va prendre tout objet tant que son type est SomeObjectType.

Si vous vouliez dire quelque chose d'autre, alors s'il vous plaît montrer un exemple de code de ce que le comportement attendu est.

+0

C'est correct. Je viens de le trouver moi-même. J'essayais avec It.IsAny () tandis que ma méthode attendait un paramètre d'utilisateur. J'ai utilisé It.IsAny () et cela a fonctionné. Merci beaucoup! – tucaz