Heim >Java >Wiederverwendung von Junit 5-Code/Konfiguration. Sollte ich eine abstrakte Testklasse oder -erweiterung verwenden?

Wiederverwendung von Junit 5-Code/Konfiguration. Sollte ich eine abstrakte Testklasse oder -erweiterung verwenden?

王林
王林nach vorne
2024-02-06 10:45:14610Durchsuche
Frageninhalt

Junit 5-Dokumentation verwendet AbstractDatabaseTests

Aber ich erinnere mich, dass in Juni 4 die empfohlene Methode darin besteht, Regeln zu verwenden, anstatt Klassen zu erweitern.


Richtige Antwort


Beispiel Mit AbstractDatabaseTest kann gezeigt werden, dass „JUnit Jupiter [zusätzlich zu registrierten Erweiterungen] auch garantiert, dass das Verhalten [...] in Klassen- und Schnittstellenhierarchien verpackt ist“.

Auszug aus dem Benutzerhandbuch一个>:

Erweiterungen sind eine Kernfunktion von JUnit Jupiter und gelten als idiomatischer als die Verwendung von Vererbung.

Obwohl JUnit Jupiter auch die Vererbung unterstützt (viele Kommentare sind @Inherited), folgt der Erweiterungsmechanismus Zusammensetzung vor Vererbung. Dies gibt Ihnen beispielsweise mehr Flexibilität, da Sie mehrere Erweiterungen verwenden können, während die Vererbung auf eine einzelne Klasse beschränkt ist.

Das obige ist der detaillierte Inhalt vonWiederverwendung von Junit 5-Code/Konfiguration. Sollte ich eine abstrakte Testklasse oder -erweiterung verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen