Update ohne Probleme. JUnit Test läuft, was will man mehr… „Quicktest: Neue Version Eclipse 2021‑03 veröffentlicht – Better Than Ever“ weiterlesen
Teste mal wieder – JUnit 5.7.0
JUnit und auf Maven Central JUnit 5.7.0
Wie können JUnit Tests aus Eclipse unterschiedlich gestartet werden?
Was tun bei covid-19? Die neue Eclipse Version die heute veröffentlicht wurde installieren! Es fliegen über 5000 Flugzeuge!
Die neue Entwicklungsumgebung Eclipse 2020-03 gibt es seit heute. Das neue Quartalsrelease der IDE bringt unter anderem Unterstützung für Java 14 und mehr Möglichkeiten für die Webentwicklung. Bei Heise.de gibt es weitere Infos und Videos.
Nach dem Update:
Super, es startet:
Dann mal gleich einen ersten JUnit-Quicktest:
Anzahl aller Flugzeuge mit Flughöhen jetzt:
Flugbereich in Meter ; Flughöhe in Meter
Parken 0 ; 371
1-500 ; 418
500-1000 ; 362
1000-2000 ; 450
2000-3000 ; 283
3000-4000 ; 214
4000-5000 ; 221
5000-6000 ; 202
6000-7000 ; 198
7000-8000 ; 257
8000-9000 ; 259
9000-10000 ; 373
10000-10500 ; 317
10500-11000 ; 495
11000-11500 ; 288
11500-12000 ; 587
12000-13000 ; 406
über 13000 ; 111
Summme ; 5812
Zeitpunkt ; Wed Mar 18 21:03:04 CET 2020
Quelle ; The OpenSky Network, http://www.opensky-network.org
Quicktest: JUnit 5.6.0 – „Freut euch immer“
Vor zwei Tagen wurde die neue JUnit Version 5.6.0 veröffentlicht.
Also die BOM aktuallisieren:
1 2 3 4 5 6 |
<dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>5.6.0</version> <type>pom</type> </dependency> |
Und ein kleiner Test mit zwei Projekten: „Quicktest: JUnit 5.6.0 – „Freut euch immer““ weiterlesen
Quicktest der neuen Eclipse 2019-12 IDE –>OK „Freut euch immer“
Mitten in meinem Indien Urlaub ist eine neue Eclipse Version veröffentlich worden.
Dann mal gleich die neue Repo. URL unter
Window > Preferences > Install/Update > Available Software Sites
hinzugefügt
https://download.eclipse.org/releases/2019-12/
und start des Updates. In der Zwischenzeit (1 Minute) kann mein Urlaubsvideo angeschaut oder ein paar Infos darüber gelesen werden. Oder die zwei neuen Videos in engl. über die Änderungen im Java / Maven Bereich (10 Minuten) und General und Git (8 Minuten).
So dann mal ein Quicktest nach dem Restart der neuen IDE. Der Start scheint gefühlt wieder länger zu dauern. Ein erster JUnit Test, ok:
Jetzt ist auch ein neues Maven 3.6.3 mit dabei und eine bessere JDK 13 Unterstüzung.
Also dann „Freut euch immer“ …
Neue Version graphviz-java-parent-0.11.0 vor zwei Tagen veröffentlicht
Vor zwei Tagen wurde die neue Version veröffentlicht:
Dann mal die pom.xml updaten und einen Quicktest:
„Neue Version graphviz-java-parent-0.11.0 vor zwei Tagen veröffentlicht“ weiterlesen
Neue Version der Template Engine FreeMarker 2.3.29 veröffentlicht
Seit ein paar Tagen gib es eine neue Version von Freemarker 2.3.29. Was gibt es da Neues? Fünf Änderungen auf FTL Seite und neun auf Java-Seite. Dann mal ein Projekt Testweise updaten. Dazu nehme ich mal den TWMindmapgenerator.
Quicktest ok! Mehr im Handbuch.
207 Wortformen in der deutschen Schriftsprache machen 50% der ganzen Schriftsprache aus!
207 Wortformen in der deutschen Schriftsprache machen 50% der ganzen Schriftsprache aus (Quelle Wikipedia). Wer also 207 Wörter schreiben kann, kann schon die hälfte des deutschen Textes schreiben. Für einen Textparser brauchte ich eine Java Methode die checkt, ob ein Wort in dieser Liste ist.
Also mal eben eine Java-Zweizeiler um das zu überprüfen. „207 Wortformen in der deutschen Schriftsprache machen 50% der ganzen Schriftsprache aus!“ weiterlesen
Raspberry Pi: Jave UUID perfomance Vergleich Raspberry Pi mit iMac
Wie lange braucht ein Raspberry Pi, im Vergleich zu anderen Rechner, um 100000 UUIDs zu erzeugen und auf der Konsole auszugeben mit einem Test ob doppelte generiert werden. So was ähnliches hatte ich vor 2 Jahren schon mal geschrieben.
Die generierten UUIDs oder Teile davon kann man auch als Passwort verwenden 😉
Hier das kleine Java Programm: „Raspberry Pi: Jave UUID perfomance Vergleich Raspberry Pi mit iMac“ weiterlesen
JUnit 5 Quickie: @CsvSource
Mit der @CsvSource Annotation in JUnit 5 kann man mit Kommaseparierte Parameter leicht und übersichtliche Tests schreiben. Die API ist aber noch im EXPERIMENTAL Status.
Hier mal ein Beispiel. Für jeden Kommandozeilen Parameter eine Testmethode schreiben:
„JUnit 5 Quickie: @CsvSource“ weiterlesen
Java: Rätsel des Tages
Was ist das Ergebnis?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/** * Rätsel des Tages. * * @author Thomas Wenzlaff * */ final public class RätselDerWoche { private static int x = 1; static { x++; } public static void main(String[] args) { System.out.println("Ergebnis: " + x); } static { x = 3; } } |
Ergebnis: „Java: Rätsel des Tages“ weiterlesen
JUnit 5 Quickie: @nested 入れ子 und public optional
Rätsel des Tages: Warum läuft der JUnit 5 Test nicht und zeigt eine Message Box an?
Warum wird beim ausführen dieses JUnit 5 Tests die Fehlermeldung angezeigt, das kein Test vorhanden ist?
Es ist nicht die fehlende @Test Annotation, die wird bei einem @ParameterizedTest nicht gebraucht.
Die Lösung …
„Rätsel des Tages: Warum läuft der JUnit 5 Test nicht und zeigt eine Message Box an?“ weiterlesen
Eclipse Quickie: Testabdeckung anzeigen mit „Coverage As“
In Eclipse kann man leicht die Testabdeckung visualisieren.
Wenn man z.B. einen JUnit Test über den Menüpunkt „Coverage As – JUnit Test“ ausführt:
Alle Zeilen die grün sind, wurden durchlaufen: „Eclipse Quickie: Testabdeckung anzeigen mit „Coverage As““ weiterlesen
JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?
Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge ausgeführt werden? Ab JUnit 5.4 geht das mit der Annotation @TestMethodOrder. Es wird nur die @TestMethodOrder(MethodOrderer.Random.class) Annotation an der jeweiligen Test-Klasse benötigt. Die Zufallsfunktion wird mit Hilfe der System.nanoTime() Funktion erzeugt. Also ein Pseudozufall. Aber für Test reicht es.
Wir verwenden diese Testklasse: „JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?“ weiterlesen
JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in alphabetischer Reihenfolge ausgeführt werden?
Wie können die Testmethoden einer Klasse automatisch in alphabetischer Reihenfolge ausgeführt werden? Ab JUnit 5.4 geht das mit der Annotation @TestMethodOrder
Es wird nur die @TestMethodOrder(MethodOrderer.Alphanumeric.class) Annotation an der jeweiligen Test-Klasse benötigt. Mit dem Alphanumeric wird die Reihenfolge auf alphabetischer gesetzt. „JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in alphabetischer Reihenfolge ausgeführt werden?“ weiterlesen
JUnit Tests nun mit Methoden Reihenfolge via @Order Annotation möglich
Normal sollte die Testreihenfolge ja nicht festgelegt werden. Da eine Test-Methode nicht von einer anderen abhängig sein sollte.
Manchmal wird das aber dennoch benötigt. Das geht jetzt ab JUnit 5.4 ganz einfach mit der @Order Annotation.
Hier eine Beispiel Klasse. „JUnit Tests nun mit Methoden Reihenfolge via @Order Annotation möglich“ weiterlesen
Java Quickie: Ermitteln der Java Version und Home Verzeichnis
1 2 3 4 5 6 7 8 9 10 11 12 13 |
@Test public void ermittleJavaVersion() { assertEquals("1.8.0_131", System.getProperties().get("java.version")); } @Test public void ermittleJavaHome() { assertEquals("/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre", System.getProperties().get("java.home")); } |
Letzte Woche wurde das JUnit 5.4.0 Release veröffentlicht
Also mal testen ob alle läuft? Kleine Änderung in der pom.xml
1 2 3 4 |
<junit.version>4.12</junit.version> <junit.jupiter.version>5.4.0</junit.jupiter.version> <junit.vintage.version>5.4.0</junit.vintage.version> <junit.platform.version>1.4.0</junit.platform.version> |
Dann mal zwei Projekt umstellen. Siehe da, die Buildpipeline laufen auch noch wie erwartet:
und die auch „Letzte Woche wurde das JUnit 5.4.0 Release veröffentlicht“ weiterlesen
Neue M1 Version von JUnit 5.4.0 veröffentlicht
Es wurde vorgestern eine neue Version von JUnit 5 veröffentlicht,
siehe https://junit.org/junit5/docs/5.4.0-M1/release-notes/
Mindmap zum Thema „Neue M1 Version von JUnit 5.4.0 veröffentlicht“ weiterlesen
Jubiläum: 20 Jahre Homepage wenzlaff.de!
Heute vor 20 Jahren, am 1.12.1998 ging die Domain wenzlaff.de zum ersten mal ans Netz. Wie die Zeit vergeht.
Es war eine statische Webseite mit Freeware und Sprüche Datenbank mit Newsletter und einigen C++ und Java Programmen zum kostenlosen Download aus meiner Hand. Hier ein etwas unvollständiges Bildschirmfoto, mehr habe ich leider nicht mehr gefunden:
Aber auch schon lange vor dieser Zeit, hatte ich eine Homepage, die aber dann auf den Servern der UNI-Bremen kostenlos gehostet wurde. Da hatte ich als Informatiker einen Zugang mit Akustikkoppler mit 300 Baud und Lochkarten hatten wir da auch noch. Das war wenigstens etwas zum anfassen, batches mit Lochkarten schreiben, cool!
Und es gab keine Werbung im Internet.
Die schöne alte Zeit. Und in der Zwischenzeit gab es immer mal neue Technologie. Vom statischen html zum xhtml und JavaScript über einen eigenen Java html Generator mit Templates bis heute zu den Content-Management-System mit eigener Datenbank.
Bis heute konnte ich auch auf dieser Webseite immer auf Werbung verzichten. Juhu …
Wie soll es weiter gehen? Gibt es noch Themen nach über 1000 Beiträgen? Ideen habe ich noch genug, was fehlt ist die Zeit!
In diesem Sinne, vielen Dank an alle Leser und für das viele Feedback (die über 1000 Kommentare mit Kommentarfunktion habe ich ja abgeschaltet…DSGVO läßt grüßen) das auch nach wie vor erwünscht ist, aber eben über E-Mail 😉

Java Quickie: Liefere die IP vom Domain Namen
Wie kann die IP von einem Domain Namen ermittelt werden? Das geht mit einer Zeile InetAddress.getByName aus dem java.net.InetAddress Package schon seit JDK 1. Wenn die Domain unbekannt ist gibt es eine UnknownHostException wie diese JUnit Tests zeigen:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
@Test public void testGetIpFromDomain() throws Exception { String domain = "kleinhirn.eu"; InetAddress ip = InetAddress.getByName(domain); assertEquals("81.169.145.74", ip.getHostAddress()); } @Test(expected = UnknownHostException.class) public void testGetIpFromUngueltigeDomain() throws Exception { String domain = "kleinhirn.fehler"; InetAddress ip = InetAddress.getByName(domain); assertEquals("81.169.145.74", ip.getHostAddress()); } |
Debian Raspberry Pi Desktop in VirtualBox VM installieren
Wer keinen Raspberry Pi hat, kann sich das Image auch in der VM von VirtualBox installieren. So kann man auch alles ohne Pi austesten. Es gibt von der Raspberry Pi Foundation ein eigenes Image für PC und Mac dafür. Das Image basiert auf Debian Stretch Kernel Version: 4.9 Release Datum: 27.06.2018. Wie wird das nun installiert?
Zuerst das Image von der Download Seite laden. Das Laden der 2,4 GB dauer etwas.
Dann „Debian Raspberry Pi Desktop in VirtualBox VM installieren“ weiterlesen
Eclipse Photon mit neuen JUnit Fehler Trace Button
Usability-Verbesserunge: Code Mining (Code CodeLens) mit Eclipse Photon
Wer Zusatzinformationen im Quelltext sehen will, kann das mit dem Code Minig (CodeLens) machen. Folgende Infos werden geboten:
Allgemein
Zeige references
Zeige implementations
Zeige method parameter Namen
Zeige method parameter types
Zeige end statement
JUnit
Zeige JUnit status
Zeige JUnit run
Zeige JUnit debug
Debugging
Zeige variable values inline im debugging
EGit
Zeige revision recent change
Zeige avatar
Zeige date ago
Zeige authors
Man kann sich also z.B. die Git-Information anzeigen lassen, wer wann eine Methode editiert hat. Für JUnit-Tests wird angezeigt, ob sie erfolgreich ausgeführt wurden. Zusätzlich lassen die JUnit-Methoden sich direkt starten bzw. debuggen
Das Code Mining mit Eclipse Photon muss noch über die Update-Site (Update Site http://oss.opensagres.fr/jdt-codemining/snapshot/) installiert werden:
Dann noch in den Einstellungen aktivieren:
Das sieht dann
„Usability-Verbesserunge: Code Mining (Code CodeLens) mit Eclipse Photon“ weiterlesen
JUnit 5 mit 5.3.0-M1 auf Photon mit Maven läuft!
Was gibt es neues in JUnit 5.3.0-M1?
Hier eine Beispiel POM: „JUnit 5 mit 5.3.0-M1 auf Photon mit Maven läuft!“ weiterlesen
Es muss ja nicht immer Fussball und Weltmeisterschaft sein! Neue Annotation für JUnit 5 – Tags sind auch spannend!
Mit den neuen Tags (org.junit.jupiter.api.Tag) können Methoden und auch ganze Klassen getagt werden, um sie z.B. in Gruppen einzuteilen.
Eine Testgruppe könnte z.B. eine langlaufende DB Methoden sein, die nicht immer ausgeführt werden soll.
Ein Tag muss folgenden Syntax Regeln folgen:
-ein Tag darf nicht Leer sein
-ein Tag darf keine Leerzeichen enthalten
-ein Tag darf keine ISO Kontroll Zeichen enthalten
-ein Tag darf kein, (, ), %, | oder ! Zeichen enthalten
Eine Testklasse zur WM 2018 könnte so aussehen:
„Es muss ja nicht immer Fussball und Weltmeisterschaft sein! Neue Annotation für JUnit 5 – Tags sind auch spannend!“ weiterlesen
Wie kann eine Vaadin Spring Boot Anwendung in 15 Minuten auf JUnit 5 umgestellt werden?
Wie kann eine Vaadin Spring Boot mit Hibernate Anwendung auf JUnit 5 für Eclipse Oxygene 3A umgestellt werden?
1. Deaktivieren wir die JUnit (4.12) Libs in der pom.xml:
1 2 3 4 5 6 7 8 9 10 11 12 |
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <!-- Kein JUnit 4 mehr für den Test--> <exclusions> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> </exclusions> </dependency> |
2. Fügen wir die nötigen JUnit 5 Libs in der pom.xml hinzu:
1 2 3 4 5 6 7 8 9 10 11 12 |
<!-- Alles für JUnit 5 --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <!-- and the engine for surefire and failsafe --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> |
3. Wir fügen JUnit 5 dem Buildpfad hinzu:
Es sieht dann so aus:
„Wie kann eine Vaadin Spring Boot Anwendung in 15 Minuten auf JUnit 5 umgestellt werden?“ weiterlesen
Shell Scripte überprüfen mit ShellCheck auch auf dem Raspberry Pi (Zero W) in 5 Minuten möglich und auch JUnit via xslt
Mit shellcheck kann man gut Shell Scripte überprüfen.Das kann man einfach online, über diese GUI www.shellcheck.net ausprobieren oder aber auch installieren.
Für den Raspberry Pi gibt es schon ein installations Packet, deshalb ist die Installation mit
1 2 3 |
sudo apt install shellcheck # Testen welche Version installiert wurde# # version: 0.4.4 |
schnell erledigt.
Das ist nun nicht gerade die aktuelle Version 0.5.0 aber immerhin. Ein selbst compilieren kommt für den Pi nicht infrage, da ShellCheck in Haskell programmiert ist und da für den compile mind. 2GB RAM benötigt werden, der Pi hat aber je nach Version max. 1GB.
Nun kann leicht eine Script Datei überprüft werden, mit Aufruf
shellcheck SCRIPT.sh. Hier mal zwei Beispiele:
„Shell Scripte überprüfen mit ShellCheck auch auf dem Raspberry Pi (Zero W) in 5 Minuten möglich und auch JUnit via xslt“ weiterlesen