3 votes

Moq et rappel pour définir les valeurs d'une classe

J'ai une classe DTO simulée qui contient des propriétés que je définis via une fonction de rappel. Cela fonctionne bien pour moi, mais y a-t-il un moyen plus propre de le faire?

            Mock _MyDto = new Mock();

            _MyDto.Setup(dto => dto).Callback(dto => 
            {   
                dto.FirstName = "John";
                dto.LastName = "Doe";
            });

J'aimerais définir ces propriétés dans l'appel Setup si possible, mais il accepte une expression et je ne peux pas faire une déclaration sur plusieurs lignes à l'intérieur. Mais mes connaissances en Linq ne sont pas encyclopédiques et je me demandais s'il y avait une meilleure approche pour ce que je fais.

3voto

Daniel Miladinov Points 1458

According to the guide de démarrage rapide de Moq pour les propriétés, vous pourriez potentiellement modifier votre code pour ressembler à ceci à la place :

_MyDto.SetupProperty(dto => dto.FirstName, "John");
_MyDto.SetupProperty(dto => dto.LastName, "Doe");

Je n'ai pas encore eu l'occasion d'utiliser Moq moi-même, mais il semble que c'est ainsi qu'on se moque des propriétés avec Moq.

2voto

svick Points 81772

Je pense que vous ne comprenez pas à quoi sert la méthode Setup(). Vous n'êtes pas censé l'appeler une seule fois avec tout le code d'initialisation. Au lieu de cela, vous l'appelez une fois pour chaque élément individuel que vous souhaitez configurer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X