JUnit 5 @ParameterizedTest mit @ValueSource oder 3 Gründe warum man keine JUnit Tests schreiben sollte!

In JUnit 5 gibt es nun die Möglichkeit, Testmethoden mit Parametern ausszuführen. Anstatt der @Test Annnotation verwendet man die @ParameterizedTest. Nun braucht man noch eine Datenquelle mit @ValueSource.

Diese Klassen liegen in: „JUnit 5 @ParameterizedTest mit @ValueSource oder 3 Gründe warum man keine JUnit Tests schreiben sollte!“ weiterlesen

Rest Test Programm: Java Migration von JUnit 4 nach JUnit 5 (1.0.0.-M6)

Wollte mal mein REST Testprogramm auf JUnit 5 umstellen. Die neuen JUnit 5 Feature sind schon sehr interessant. Vor ein paar Tagen ist der neue M6 veröffentlicht worden (JUnit 5.0.0-M6 = Platform 1.0.0-M6 + Jupiter 5.0.0-M6 + Vintage 4.12.0-M6). Auch ist die Architektur nun grundlegend geändert. Und evl. will man schon mal die Neuen Features testen. Es gilt nicht: „Wer testet ist Feige ;-)“

Was ist da so nötig?

JUnit 5 braucht zur Laufzeit Java 8.

Versionen setzen

Die neuen Abhängigkeiten hinzu: „Rest Test Programm: Java Migration von JUnit 4 nach JUnit 5 (1.0.0.-M6)“ weiterlesen

OpenSky Java API to KML für Google Earth – Teil 1

OpenSky bietet eine Java API an um auf Flugdaten zugreifen zu können. Da die live API nun wieder online ist, schreiben wir einen kleine JUnit Test und formen mal alle Transponderdaten aller 4754 Flugzeuge in eine KML Datei, um die Daten auf Google Earth anzuzeigen. Hier erst einmal das Ergebnis in Google Earth aus 5569 Km Höhe gesehen:

Wer die die Daten testweise laden will, „OpenSky Java API to KML für Google Earth – Teil 1“ weiterlesen

Java: Reihenfolge der Testmethoden mit FixMethodOrder in JUnit festlegen

JUnit Testmethoden sollten so geschrieben werden, das sie unabhängig von anderen Methoden sind. Die Reihenfolge der ausführung der Test-Methoden in einer Testklasse ist auch nicht garantiert und kann von lauf zu lauf unterschiedlich sein. Das ist auch gut so.

Manchmal möche man aber dennoch eine bestimmte Reihenfolge. Dies kann seit JUnit 4.11 mit der @FixMethodOrder(MethodSorters.NAME_ASCENDING Annotation durchgeführt werden.

Die Testklasse wird einfach mit der @FixMethodOrder(MethodSorters.NAME_ASCENDING markiert. Z.B.

bildschirmfoto-2016-10-30-um-07-38-13

Ohne ist die Ausführung z.B.:

bildschirmfoto-2016-10-30-um-07-37-32

Und mit Annotation z.B.:

bildschirmfoto-2016-10-30-um-07-37-55

JUnit 4.12 erschienen

Nach über 2 Jahren ist nun eine neue Version von JUnit veröffentlicht worden. Die Releasenotes sind auf Github zu finden. In folgenden Bereichen gab es Ergänzungen:

Ok, dann mal gleich das aktuelle Maven Projekt TWFlug auf die neue Version 4.12 angepasst:

Und siehe da, alles GRÜN:
Bildschirmfoto 2014-12-14 um 16.47.52

Mehr über JUnit oder drei Gründe warum man keine JUnit-Tests schreiben sollte.