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

Wie kann ich eine Abschlussklasse in Mockito simulieren?

Barbara Streisand
Freigeben: 2024-12-28 21:04:15
Original
1038 Leute haben es durchsucht

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
   }
}
Nach dem Login kopieren

In einem anderen Klasse:

Java

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

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'
Nach dem Login kopieren

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!

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