Heim > Java > javaLernprogramm > So testen Sie abstrakte Klassen mit Mockito: Eine Schritt-für-Schritt-Anleitung

So testen Sie abstrakte Klassen mit Mockito: Eine Schritt-für-Schritt-Anleitung

Susan Sarandon
Freigeben: 2024-10-30 18:07:03
Original
661 Leute haben es durchsucht

How to Test Abstract Classes with Mockito: A Step-by-Step Guide

Abstrakte Klassen mit Mockito testen

Abstrakte Klassen stellen eine Herausforderung für Unit-Tests dar, da es an konkreten Implementierungen mangelt. Obwohl die manuelle Mock-Erstellung eine Option ist, kann sie zeitaufwändig und komplex sein.

Mockito bietet eine elegante Lösung zum Testen abstrakter Klassen ohne manuelle Mock-Erstellung. So funktioniert es:

  1. Mock the Abstract Class:

    <code class="java">My mock = Mockito.mock(My.class, Answers.CALLS_REAL_METHODS);</code>
    Nach dem Login kopieren

    Durch die Verwendung von Answers.CALLS_REAL_METHODS weisen Sie Mockito an, die eigentliche Klasse auszuführen Implementierung nicht überschriebener Methoden, sodass Sie das Verhalten der abstrakten Methoden testen können.

  2. Stub-abstrakte Methoden nach Bedarf:

    Für Zusammenfassung Methoden, die Sie während des Tests steuern möchten, verwenden Sie die folgende Syntax:

    <code class="java">Mockito.when(mock.methodIDontCareAbout()).thenReturn(null);</code>
    Nach dem Login kopieren

    Dadurch wird die spezifische abstrakte Methode blockiert und das gewünschte Verhalten bereitgestellt.

Beispiel:

Stellen Sie sich das folgende Szenario vor:

<code class="java">public abstract class My {
    public Result methodUnderTest() { ... }
    protected abstract void methodIDontCareAbout();
}

@Test
public void shouldFailOnNullIdentifiers() {
    My my = Mockito.mock(My.class, Answers.CALLS_REAL_METHODS);
    Assert.assertSomething(my.methodUnderTest());
}</code>
Nach dem Login kopieren

In diesem Beispiel wird die abstrakte Methode methodIDontCareAbout() in der zu testenden Methode nicht verwendet. Indem Sie es mit thenReturn(null) verspotten, ignorieren Sie es effektiv während des Testens.

Dieser Ansatz bietet eine prägnante und bequeme Möglichkeit, abstrakte Klassen zu testen, wodurch die Notwendigkeit handgefertigter Mocks entfällt und ein effizientes Testen von Nicht-Klassen erleichtert wird. konkrete Klassen.

Das obige ist der detaillierte Inhalt vonSo testen Sie abstrakte Klassen mit Mockito: Eine Schritt-für-Schritt-Anleitung. 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