Heim > Java > javaLernprogramm > So verspotten Sie Void-Methoden in Mockito: Eine Anleitung zu doThrow, doAnswer, doNothing und doReturn?

So verspotten Sie Void-Methoden in Mockito: Eine Anleitung zu doThrow, doAnswer, doNothing und doReturn?

Susan Sarandon
Freigeben: 2024-12-17 03:06:26
Original
428 Leute haben es durchsucht

How to Mock Void Methods in Mockito:  A Guide to doThrow, doAnswer, doNothing, and doReturn?

Verspotten von Void-Methoden mit Mockito

Beim Umgang mit Beobachtermustern können Verspottungsmethoden mit Void-Rückgabetypen eine Herausforderung darstellen. Ein solcher Fall besteht darin, dass es schwierig ist, eine Klasse mit einer Methode wie addListener zu verspotten, die void zurückgibt.

Um eine Methode ohne Rückgabewert zu verspotten, stellt Mockito eine Reihe von Methoden bereit: doThrow(), doAnswer(), doNothing() und doReturn(). Mit diesen Methoden können Sie das Verhalten der simulierten Methode angeben.

Um beispielsweise anzugeben, dass die addListener-Methode beim Aufruf eine Ausnahme auslöst, können Sie Folgendes verwenden:

Mockito.doThrow(new Exception()).when(instance).addListener(any(Listener.class));
Nach dem Login kopieren

Alternativ Sie kann mehrere Verhaltensweisen miteinander verketten. Der folgende Code löst beispielsweise beim ersten Aufruf von addListener eine Ausnahme aus und führt dann bei nachfolgenden Aufrufen keine Aktion aus:

Mockito.doThrow(new Exception()).doNothing().when(instance).addListener(any(Listener.class));
Nach dem Login kopieren

In der bereitgestellten World-Klasse können Sie die setState-Methode mithilfe der doAnswer-Methode verspotten, z unten gezeigt:

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());
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo verspotten Sie Void-Methoden in Mockito: Eine Anleitung zu doThrow, doAnswer, doNothing und doReturn?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage