457 votes

Mockito : Essayant d’espionner la méthode appelle la méthode originale

Je suis l'aide de Mockito 1.9.0. Je veux simuler le comportement d'une méthode unique d'une classe de test JUnit, j'ai donc

final MyClass myClassSpy = Mockito.spy(myInstance);
Mockito.when(myClassSpy.method1()).thenReturn(resulstIWant);

Le problème est que, dans la deuxième ligne, myClassSpy.method1() est en fait appelé, résultant en une exception. La seule raison pour laquelle je suis en utilisant les objets fantaisie, est de sorte que plus tard, lorsqu' myClassSpy.method1() est appelé, la vraie méthode ne sera pas appelé et l' resultsIWant objet sera retourné.

MyClass est une interface, myInstance est une œuvre qui, si ce qui compte.

Que dois-je faire pour corriger ce espionnage de comportement?

769voto

Tomasz Nurkiewicz Points 140462

Permettez-moi de citer la documentation officielle:

Gotcha important sur des objets réels d’espionnage !

Il est parfois impossible d’utiliser stub(Object) pour déraciner les espions. Exemple :

Dans votre cas, il va quelque chose comme :

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