Heim > Java > javaLernprogramm > Wie kann ich Abschlussklassen und -methoden mit Mockito simulieren?

Wie kann ich Abschlussklassen und -methoden mit Mockito simulieren?

Patricia Arquette
Freigeben: 2024-12-11 04:02:10
Original
137 Leute haben es durchsucht

How Can I Mock Final Classes and Methods with Mockito?

Private oder endgültige Methoden/Klassen mit Mockito verspotten

Bei der Arbeit mit Tests ist das Verspotten von endgültigen Klassen oder Methoden eine häufige Herausforderung. Mockito, ein beliebtes Mocking-Framework, hatte in dieser Hinsicht traditionell Einschränkungen. Mit der Veröffentlichung von Mockito v2 wurde dieses Hindernis jedoch überwunden.

Um eine Abschlussklasse mit Mockito v2 zu simulieren, befolgen Sie diese Schritte:

  1. Einschließen Mockito v2 in Gradle:

    testImplementation 'org.mockito:mockito-inline:2.13.0'
    Nach dem Login kopieren
  2. Verspotten Sie die Klasse direkt:

    // Given
    FinalClass finalClass = mock(FinalClass.class);
    Nach dem Login kopieren

    Beachten Sie, dass Sie das @ nicht deklarieren müssen Scheinanmerkung, wie im älteren Mockito Versionen.

Einschränkungen von Mockito v1:

Wie in den Mockito-FAQ erwähnt, weist Mockito v1 Einschränkungen auf, wenn es darum geht, Abschlussklassen zu verspotten. Dies liegt daran, dass endgültige Klassen während der Laufzeit nicht dynamisch generiert werden können, eine Voraussetzung für das Mocking.

What are the limitations of Mockito

...

Cannot mock final classes
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Abschlussklassen und -methoden mit 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