Heim >Java >javaLernprogramm >Wie kann ich eine Abschlussklasse in Mockito simulieren?

Wie kann ich eine Abschlussklasse in Mockito simulieren?

Barbara Streisand
Barbara StreisandOriginal
2024-12-28 21:04:151020Durchsuche

How Can I Mock a Final Class in Mockito?

Abschlusskurse mit Mockito verspotten

Problem:

Sie haben einen Abschlusskurs, den Sie Ich möchte einen JUnit-Test verspotten. Allerdings scheint Mockito beim Verspotten von Abschlussklassen Einschränkungen zu haben.

Detaillierte Frage:

Betrachten Sie den folgenden Beispielcode:

Java

public final class RainOnTrees {
   public void startRain() {
      // some code here
   }
}

In einem anderen Klasse:

Java

public class Seasons {
   RainOnTrees rain = new RainOnTrees();
   public void findSeasonAndRain() {
      rain.startRain();
   }
}

In der JUnit-Testklasse für Seasons.java möchten Sie die RainOnTrees-Klasse verspotten. Wie können Sie dies mit Mockito erreichen?

Antwort:

Seit Mockito v2 ist es möglich, Abschlussklassen zu simulieren. Um diese Funktionalität zu aktivieren, fügen Sie Folgendes zu Ihrer Gradle-Datei hinzu:

Java

testImplementation 'org.mockito:mockito-inline:2.13.0'

Beachten Sie, dass das Verspotten von Abschlussklassen mit Mockito v1 nicht möglich war. Wie in den Mockito-FAQ erwähnt:

„Abschlussklassen können nicht simuliert werden“

Weitere Informationen zu den Einschränkungen von Mockito finden Sie in der offiziellen Dokumentation.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Abschlussklasse in Mockito simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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