163 votes

Moquerie et espionnage dans les cadres de moquerie

Dans les frameworks de mocking, vous pouvez simuler un objet ou espionner sur elle. Quelle est la différence entre les deux et quand devrais-je utiliser l'un plutôt que l'autre ?

Regarder Mockito par exemple, je vois que des choses similaires sont réalisées à l'aide des éléments suivants espions y mocks mais je ne suis pas sûr de la distinction entre les deux.

3voto

Jerry C. Points 111

Référence : http://javapointers.com/tutorial/difference-between-spy-and-mock-in-mockito/

Lorsque vous utilisez des objets fantaisie, le comportement par défaut de la méthode lorsqu'elle n'est pas stubée est de ne rien faire. En d'autres termes, s'il s'agit d'une méthode void, elle ne fera rien lorsque vous l'appellerez, ou si c'est une méthode avec un retour, elle peut retourner null, empty ou la valeur par défaut.

Dans les objets espions, bien sûr, puisqu'il s'agit d'une méthode réelle, si vous ne bloquez pas la méthode, elle appellera le comportement de la méthode réelle. Si vous voulez modifier et simuler la méthode, vous devez la stubber.

1voto

John Heilman Points 61

Les espions ont deux définitions. L'une est celle où la vraie méthode est appelée, l'autre où aucune fonctionnalité n'est appelée et où seules des valeurs nulles ou équivalentes sont renvoyées, mais où des méthodes ont été appelées et leur état a été enregistré, par exemple, la méthode x a été appelée y fois.

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