Update ohne Probleme. JUnit Test läuft, was will man mehr… „Quicktest: Neue Version Eclipse 2021‑03 veröffentlicht – Better Than Ever“ weiterlesen
.gitignore mal etwas anders
Auf Github gibt es viele Templates für die .gitignore Datei. Für das Erstellen einer .gitignore Datei kann aber auch die Webseite von gitignore.io verwendet werden.
Auf dem Raspberry Pi kann man aber auch eine Shell Funktion installieren, dann geht es noch einfacher. Dazu einfach diese Funktion einmal auf der Kommandozeile aufrufen: … „.gitignore mal etwas anders“ weiterlesen
Teste mal wieder – JUnit 5.7.0
JUnit und auf Maven Central JUnit 5.7.0
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
In unter 5 Minuten auf einem Raspberry Pi Zero eine Java Quarkus REST Anwendung mit JUnit-Test neu erstellen und starten!
Wenn Java 8 und ein aktuelles Maven auf dem Raspberry Pi installiert ist, kann man in unter 5 Minuten eine komplette REST-Anwendung mit statischer Webseite erstellen und starten. Die dann sogar Hot Reloading fähig ist. Das geht in drei Schritten und das sogar auf einem Raspberry Pi Zero:
1. Ein neues leeres Verzeichnis erstellen und dahin wechseln:
1 2 |
mkdir quarkus-anwendung cd quarkus-anwendung |
2. Mit folgenden Maven Kommando ein Maven Projekt in ca. 30 Sekunden erstellen
1 |
mvn io.quarkus:quarkus-maven-plugin:0.24.0:create -DprojectGroupId=de.wenzlaff.info -DprojectArtifactId=info-kleinhirn -DclassName="de.wenzlaff.InfoResource" -Dpath="/info" |
3. Das Projekt compilieren und starten in ca. 40 Sekunden mit:
1 |
mvn compile quarkus:dev |
Wenn der Server gestartet ist kann im Browser das Servlet aufgerufen werden mit:
http://[PI-ADRESSE]:8080/info
Ergebnis: hello
4. Nun wollen wir in einem anderen Kommondozeilen-Fenster in das Verzeichnis „In unter 5 Minuten auf einem Raspberry Pi Zero eine Java Quarkus REST Anwendung mit JUnit-Test neu erstellen und starten!“ 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 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
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
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
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
Test-Pyramide oder Wer Testet ist feige ;-)
Der am wenigsten besuchte Blog Eintrag des Jahres 2017
Habe mal so geschaut, was der am wenigsten gesehene (geklickte) Block-Beitrag des Jahres 2017 war. Es ist der Beitrag mit nur einer Mindmap zum Thema „Einfaches Design„. Ok, der Beitrag ist vom 19. Oktober 2012, und ich weiß warum das keinen interessiert. Testen …
Was hälts Du von KISS? Gern als Kommentar …
JUnit 5 Test-Ergebnisse Import und Export im XML Format mit Eclipse Oxygen
Manchmal möchte man die lokalen JUnit 5 Testergebnisse für später aufheben oder als Doku verwenden oder sichern. Man kann die Ergebnisse als XML exportieren und auch später wieder importieren. So kann man sich dann Fehler oder Laufzeiten mal wieder anschauen.
Die Import und Export Menüs, erscheinen aber nur, wenn schon mal ein JUnit Test gelaufen ist, dann an dieser Position:
„JUnit 5 Test-Ergebnisse Import und Export im XML Format mit Eclipse Oxygen“ weiterlesen
Quicktest billigstes Mulitmeter: WHDZ DT832 Portable Digital Multimeter für 3,64 Euro – Beginners only look for the cheapest offer.
Heute mal wieder ein neues Gadget aus China für 3,64 inkl. Versand eingetroffen!
WHDZ DT832 Portable Digital Multimeter mit zwei Messkabel aber ohne 9V Batterie 😉
Ideal um den Stromverbrauch oder die Spannung eines Raspberry Pi oder Arduino zu messen.
Innenansicht nach dem lösen von zwei Kreuzschlitzschrauben:
Naja, kalte Lötstellen für die NPN oder PNP Messungen sind auf den ersten Blick erkennbar. Die Funktion zum testen von Transitoren braucht wohl eh keiner.
Anleitung als PDF.
Techn. Daten mit CE Zeichen:
– DC voltage, AC voltage, DC current, AC current and resistance
– It is convenient to adjust what you need with button
– It is clear to operate with the text identifications
– The alarm will ring when detecting electric circuit on
– Small size, easy to carry
– Powered by 1 x 9V 6F22 battery ( not included )
Supply Voltage: 200-1000V
Product weight: 0.1100 kg
Package weight: 0.1870 kg
Product Size(L x W x H): 12.00 x 6.80 x 2.50 cm / 4.72 x 2.68 x 0.98 inches
Package Size(L x W x H): 13.50 x 10.00 x 3.60 cm / 5.31 x 3.94 x 1.42 inches
Package Contents: 1 x WHDZ DT832 Digital Multimeter, 1 x Table Pen, 1 x English User Manual
Projektvorschlag: Im Gehäuse ist noch Platz für einen ESP wie der WeMos. Damit können dann die gemessenen Werte drahtlos übertragen werden. Hat das schon jemand gemacht? Gern auch Link im Kommentar. Oder ist das mal ein Projekt für einen Samstag nachmittag, wenn die NOx oder Feinstaub Wert zu hoch sind 😉
Cooler CSV Reader in JUnit 5
Will man Testfälle aus einer CSV-Datei verwenden, geht das mit JUnit 5 Super einfach. Es gibt da eine neue Annotation @CsvFileSource der nur der Dateiname der CSV-Datei übergeben werden muss, und schon wird für jede Zeile der Test ausgeführt. Die Datei muss im Classpath liegen und mit Komma (,) getrennt sein. Sie darf keine Überschrift haben.
Als Beispiel soll mal die flug-data.csv dienen, die ua. die Summe aller erfassten Flugzeuge enthält.
Hier ein Auszug:
1 2 3 4 5 6 7 8 9 10 |
aed4022e-c6e9-45b1-96c1-14270c68a036,3550,Fri Jun 30 07:37:25 CEST 2017,287,148,115,200,139,150,110,122,129,157,155,250,347,531,293,302,99,16 8695a419-e76a-46f4-9a97-3ba7f0d06999,3514,Fri Jun 30 08:17:07 CEST 2017,206,138,126,181,137,151,126,119,117,142,172,214,338,576,353,292,103,23 ee29ce4a-4b9c-4491-ab6c-e888ccbbf4fa,3612,Fri Jun 30 08:29:03 CEST 2017,289,136,121,178,171,144,134,117,132,145,166,223,323,573,360,284,94,22 a95c25b5-8b3d-4922-9ce3-2d22269b32e8,3555,Fri Jun 30 09:23:14 CEST 2017,213,135,120,191,130,178,113,141,123,158,150,241,337,549,383,289,87,17 874494b7-4824-40b2-8660-d9acec56f837,4121,Fri Jun 30 11:27:51 CEST 2017,220,142,129,209,165,158,137,153,141,174,191,339,395,672,364,369,139,24 562e4c98-98bd-472c-9e9b-fc919c2260aa,5055,Fri Jun 30 16:00:44 CEST 2017,237,195,218,308,260,250,172,158,210,270,248,424,493,696,365,372,127,52 898c57c1-88c2-436d-b49a-a2db85ddc1fb,3277,Sun Jul 02 08:35:18 CEST 2017,211,116,92,156,118,129,102,126,99,125,134,198,308,592,393,289,77,12 6e3663bf-19c1-49fe-8260-3aa4e237b198,5084,Thu Jul 06 15:57:54 CEST 2017,292,206,216,318,259,221,149,150,179,211,230,364,474,781,421,390,160,63 ac38b07f-3aa6-4908-a7d7-bae630916f99,5296,Wed Jul 19 17:34:38 CEST 2017,259,237,214,347,272,237,181,174,186,237,202,332,440,821,439,480,183,55 b7f9487e-dd29-4095-a064-d401192ce9ad,4904,Sun Jul 23 20:32:03 CEST 2017,227,275,221,331,264,209,165,147,171,190,218,329,379,726,434,394,157,67 |
Wir wollen jetzt jede Zeile überprüfen, ob die Summe über 3000 Flugzeuge liegt und ob die UID vorhanden ist. Auch wollen wir die Testergebnisse um eine laufende Nr. ergänzen. „Cooler CSV Reader in JUnit 5“ weiterlesen
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
1 2 3 4 5 6 7 8 9 10 11 12 |
<properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <restlet-version>2.3.10</restlet-version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <junit.version>4.12</junit.version> <junit.jupiter.version>5.0.0-M6</junit.jupiter.version> <junit.vintage.version>${junit.version}.0-M6</junit.vintage.version> <junit.platform.version>1.0.0-M6</junit.platform.version> </properties> |
Die neuen Abhängigkeiten hinzu: „Rest Test Programm: Java Migration von JUnit 4 nach JUnit 5 (1.0.0.-M6)“ weiterlesen