Heim >Java >javaLernprogramm >Wie kann man Void-Methoden in Mockito effektiv verspotten?
Void-Methoden mit Mockito verspotten
Im Observer-Muster definieren Beobachter normalerweise Methoden mit void-Rückgabetypen. Wenn Sie versuchen, solche Methoden mit Mockito zu verspotten, können Sie auf Herausforderungen stoßen.
Herausforderung: Mocks von Methoden ohne Rückgabewerte werden nicht automatisch ausgelöst. Infolgedessen können Behauptungen im Zusammenhang mit Zustandsänderungen oder Methodenaufrufen in Komponententests fehlschlagen.
Lösung:
Verwenden Sie doThrow(), doAnswer(), doNothing(), oder doReturn() Methoden von Mockito, um das Verhalten von Void-Methoden zu manipulieren.
Zum Beispiel, um eine Ausnahme auszulösen, wenn eine Methode aufgerufen wird:
Mockito.doThrow(new Exception()).when(instance).methodName();
Zur Kombination es mit nachfolgenden Aktionen:
Mockito.doThrow(new Exception()).doNothing().when(instance).methodName();
Im bereitgestellten Beispiel kann das Verspotten der setState-Methode mithilfe von doAnswer erreicht werden Methode:
World mockWorld = mock(World.class); doAnswer(new Answer<Void>() { public Void answer(InvocationOnMock invocation) { Object[] args = invocation.getArguments(); System.out.println("called with arguments: " + Arrays.toString(args)); return null; } }).when(mockWorld).setState(anyString());
Mit dieser Technik können Sie Void-Methoden simulieren, Erwartungen festlegen und Behauptungen ausführen, um deren Verhalten in Ihren Unit-Tests zu überprüfen.
Das obige ist der detaillierte Inhalt vonWie kann man Void-Methoden in Mockito effektiv verspotten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!