Java test

Java-Test

Die aktuelle Version der Sektion finden Sie im Buch "Java ist auch eine Insel. Der Tester kennt die Implementierung nicht und entwirft Tests nur auf der Basis von. Sichern Sie die folgende Testklassen-Datei in das Verzeichnis test\meinpackage: MyClassTest. Java-Paket mypackage; junit.

framework importieren. Die JUnit ist ein Test-Framework zum Testen von Java-Code.

Prüfen ohne Umbau: Java 8-Funktionen in JUnit-Tests

Aber auch wenn wiederverwendbarer Prüfcode verfügbar ist, ist es schwierig, ihn wieder zu verwenden, da solche Verfahren (Listing 1) viel unnötigen Kesselblechcode erfordern, um die Prüfmethoden mit dem entsprechenden Prüfling (SUT) abzurufen (Listing 2). Damit sind beide Ausführungen nur teilweise realisierbar. ý importieren Sie org.junit.

Behauptung: assertXXX(....); importieren Sie org.junit.

Auflistung 6 enthält ein Beispiel mit dem Extended Default Runner importieren org.junit. Übersetzt von: Willow Durchsetz. assertXXX(....); org.j8unit.runners importieren.

J8Unit4; importieren Sie org.junit. Importieren Sie org.junit.runner. Übersetzt von: Willow Behauptung. assertXXX(....); Es wird jedoch rasch klar, dass über die Schnittstelle aufgenommene Prüfungen wiederholt werden können, aber diese Prüfungen erbringen nur in den seltensten Fällen einen Zusatznutzen, wenn sie immer auf dem gleichen SUT aufbaut.

Auflistung 7 gibt ein Beispiel, wie man die erforderlichen Dateien der JCE-Policy für unbegrenzte Stärke prüft, ohne die der aktuelle Test (Auflistung 8) nicht durchgeführt werden kann. ý javax.crypto importieren. Chiffre; importieren Sie org.junit.

Importieren Sie org.j8unit.runners. J8Unit4; importieren Sie org.junit. Importieren Sie org.junit.runner.

Obwohl es für ein Interface nicht möglich ist, auf Klassenmitglieder zu zugreifen - egal ob sie mit der @Before-Methode aktualisiert oder mit einem parametrisierten Test gestartet werden -, kann natürlich statt dessen eine geeignete SUT-Werksmethode angefordert werden.

Die Auflistung 11 verdeutlicht beispielhaft, dass J8UnitTest auch in einem parametrierten Zusammenhang ohne Probleme eingesetzt werden kann. org.j8unit importieren. J8UnitTest; importieren Sie org.junit. Durchsetz. assertXXX(....); org.j8unit.runners importieren. J8Unit4; importieren Sie org.junit. Importieren Sie org.junit.runner. Foobar() ; /// Zusätzliche optionale Testmethoden spezifisch für die Testklasse......

java.util importieren. Array; importieren Sie org.j8unit.runners. J8Parametriert; org.j8unit.runners.runners.paramétré importieren. Läufer mit ParameternFabrik; importieren Sie org.junit. Importieren Sie org.junit.runner. Importieren Sie org.junit.runners.parametrisiert.

Zusätzlich zeigt Bild 2, dass die clean ()-Methode in allen Situationen ohne Erlaubnis durchgeführt werden konnte, was zu einem Implementierungsfehler führte. ý Importieren Sie statische java.util.Arrays. alsList; importieren Sie java.util. Importieren Sie org.j8unit.runners. J8Parametriert; org.j8unit.runners.runners.paramétré importieren. Läufer mit ParameternFactory; importieren Sie org.junit.runner. Importieren Sie org.junit.runners.parametrisiert.

Instanz; Fig. Aufrufen der Test-Klasse "MyUnmodifiableListTest" importieren java.util. Importieren Sie org.junit. Durchsetzen; org.junit importieren. Angenommen, Sie importieren org.junit.

Bei entsprechendem Test wäre es möglich, die IterableTests-Schnittstelle aus einem korrespondierenden ObjectTest herzuleiten. Ebenso einfach sind Verlängerungen für andere Test-Frameworks zu implementieren. org.j8unit.spring.runners importieren. J8Federeinheit4; importieren Sie org.j8unit.spring.showcase. Testkontext; importieren Sie org.junit. Importieren Sie org.junit.runner. Importieren Sie org.springframework.text.context.

Das Testklassenmodell J8Unit in Kombination mit den entsprechenden Runner-Klassen bietet gerade für Entwickler und Designer von Public Interfaces (APIs) neue Gestaltungsmöglichkeiten für die Spezifizierung ihrer Interfaces.

Formen; importieren Sie org.j8unit. J8UnitTest; importieren Sie org.junit.

Beim Square-Klassentest integriert er neben J8Unit den Shape-API-Teststart als Abhängigkeiten (mit Testumfang) in das Gesamtprojekt und kann den mitgelieferten Unit-Test für rechteckige Objekte direkt auf seine quadratische Implementierung entsprechend Listung 18 pro implementiertes RectangleTest aufbringen.

Überraschenderweise, wie in Abb. 4 gezeigt, bemerkt er, dass sich Vierecke bei der Flächenskalierung anders als Vierecke benehmen. Paketorg.

RectangleTest; importiere org.j8unit.runners. J8Unit4; importieren Sie org.junit. Importieren Sie org.junit.runner.

Sie ermöglicht es, Test-Code als eigenes Objekt zur Verfügung zu stellen und über eine gemeinsame Abhängigkeitsdeklaration (mit Scope Test) auf der Benutzerseite zu nutzen. Es wäre zudem eine ausgezeichnete Ergänzung, wenn Java selbst API-begleitende Prüfungen in ähnlicher Weise anbieten würde.

Mehr zum Thema