Mockito question - quand(java.lang.Void) dans Stubber ne peut pas être appliqué à vide
Je ne peux pas comprendre pourquoi le doNothing
ne fonctionne pas pour cela? Des idées?
@Captor
ArgumentCaptor<GenericClass<someOtherClass>> captor;
...
Mockito.doNothing().when(mockObject.methodToStub(captor.capture()));
L'erreur est:
Exception: when(java.lang.Void) in Stubber cannot be applied to void
Vous devez vous connecter pour publier un commentaire.
De ce talon est faux :
methodToStub(...)
doit être à l'extérieur de lawhen
si l'utilisation de cette API style (il ne doit contenir que la maquette) :Tho remarques cependant :
doNothing
est la valeur par défaut pour les méthodes void pour une maquette.BDDMockito
alias qui permet à votre code d'être réel à la behaviour Driven DevelopmentBien que vous vous demandez pourquoi ne rien faire ne fonctionne pas, j'obtiens que vous voulez capturer l'argument pour methodToStub.
La façon la plus simple de le faire est:
Si vous voulez juste vous vous moquez de ne rien faire du tout sur une méthode void appel, n'oubliez pas que ne rien faire est la par défaut pour annuler des méthodes sur des objets fantaisie.
Si pour quelque raison vous avez toujours besoin d'appeler
doNothing
, vous devez prendre soin avec les parenthèses position. Il devrait ressembler à ceci:ou
ne rien faire().quand(mockObject).methodToStub(captor.capture());