Mockito / PowerMocktio doNothing für keine void-Methode
Ich brauche eine Methode die etwas zurückgibt, nichts zu tun, wenn Sie angerufen werden, während der Tests, die Instanz der Klasse besitzt die Methode ist implementiert als ein Spion.
Ich bin mir bewusst, das doNothing () - Methode funktioniert nur bei void-Methoden. Gibt es einen Weg, um das gleiche Verhalten mit einer Methode die etwas zurückgibt?
Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
when(spy.myMethod()).thenReturn(null)
. Dies wird verhindern, dass der Spion aus aufrufen die verpackte Instanz. Sie haben zu sagen, Mockito, was die Rückkehr für eine Methode, die etwas zurückgibt. Das Standard-Verhalten für einenmock
ist zurücknull
. Das Standard-Verhalten für einenspy
ist zu nennen die gewickelten Objekts. Wenn Siestub
eine Methode in einerspy
es verhindert den Aufruf der wrapped-Objekt und führt die angegebene Verhalten.Pro Dokumente Spy, Sie könnte auch tun
doReturn(null).when(spy).myMethod();
when(spy.myMethod()).thenReturn(null)
funktioniert nicht (im Allgemeinen Fall kann es in einem bestimmten Fall) für einen Spion, weil die Methode, die die eigentliche Implementierung ausgeführt werden, an dieser Stelle. Die Allgemeine Regel ist, dass Spione müssen immer drückte mit derdoXyz().when(spy).method()
syntax, um zu verhindern, dass versehentliche Ausführung von dem eigentlichen code.