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:

2. Fügen wir die nötigen JUnit 5 Libs in der pom.xml hinzu:

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

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

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.

Vorderansicht:

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.

JUnit 5

Als Beispiel soll mal die flug-data.csv dienen, die ua. die Summe aller erfassten Flugzeuge enthält.

Hier ein Auszug:

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

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

חזרות Wiederholungen mit JUnit 5: @RepeatedTest

Manchmal will man eine Testmethode öfter ausführen. Das ist ja leicht mit einer Schleife möglich.

JUnit 5 bietet nun aber eine schöne Annotation an @RepeatedTest. Mit der kann leicht die Anzahl der Wiederholungen angegeben werden. Über die Methodenparameter TestInfo und RepetitionInfo kann zur Laufzeit auf die Klassennamen, Methodennamen und aktuellen runden Wert zugegriffen werden. Hier mal ein Beispiel:


„חזרות Wiederholungen mit JUnit 5: @RepeatedTest“ 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

CSV Testdaten Generator (Oder wer testet ist feige? NEIN) und mehr Tools für CSV to …

Mit dem CSV-Testdaten-Generator kann schnell und einfach jegliche Art von Testdaten erzeugt werden. Die dann leicht in JUnit und sonstwie weiterverwendet werden können.

Auch andere gute Tools für die Bearbeitung von CSVs sind dort zu finden. z.B.

  • Convert CSV To Delimited – reformat, filter, and sort delimited data
  • Convert CSV To Fixed Width or ASCII Table
  • Convert CSV To GeoJSON
  • Convert CSV To HTML Table or MediaWiki Table New
  • Convert CSV To JSON
  • Convert CSV To KML
  • Convert CSV To Multi-line Data
  • Convert CSV To SQL
  • Convert CSV To XML
  • Convert CSV To YAML
  • Pivot CSV Tool
  • Convert Fixed Width To CSV
  • Convert GeoJSON To CSV
  • Convert HTML Table To CSV
  • Convert JSON To CSV
  • Convert SQL To CSV
  • Convert XML To CSV
  • Convert YAML To CSV

Z.B. geben wir in der Eingabe Zeile folgende Schlüsselwörter an:

seq; first; last; name; email; latitude; longitude; domain; string

Wählen noch die Anzahl der zu erzeugenden Datensätze, z.B. 10 und klicken auf „Generate Test Data“.

Schon werden die Testdaten erzeugt, z.B.:

Mit klick auf „Save to Disk“ können die Testdaten in eine Datei gespeichert werde.

Die Testdaten werden auf dem Client erzeugt, und werden also nicht an den Hersteller der Seite gesendet.

Nun können wir die CSV Testdaten auch in eine HTML Tabelle umwandeln, hier nur die Spalten 1,2,3 eingegeben:

[seq first last
1 Nevaeh Flores
2 Raymond Castillo
3 Alex Vega
4 Emery Chapman
5 Ayla Price
6 Eden Ortega
7 Eva Higgins
8 Jaden Maxwell
9 Bryson Wood
10 Gabriel West

Wer die CSV dann in XML umwandel möcht, kann dies auch leicht mit dem CSV to XML Convertertun. Hier mal die CSV die oben generiert wurde:

Oder mal eben 1000 Passwörter die 20 Stellen haben generieren mit:

seq,string(20)

Weitere Ideen?

Testfreigabe: TWFlug 0.0.1 beta für DUMP1090 zur Auswertung von Flugdaten

Habe ein Java Programm für die übersichtliche Anzeige der empfangenen Flugzeuge erstellt.
Wer einen DUMP1090 Server laufen hat, kann das TWFlug Programm starten.
Es werden bisher folgende Funktione geboten:

  • anzeige der Anzahl der sichtbaren Flugzeuge
  • erstellen einer Log Datei im Fhem Format

Das TWFlug Programm läuft auf unterschiedlichen Plattformen (Win, Linux, Mac…), bisher habe ich Mac OS X Yosemite (10.10.1) getestet. Wer vor der ersten öffentlichen Version am Test teilnehmen möchte, kann mir eine E-Mail senden.

So sieht das TWFlug nach dem Start aus:

TWFlug Programm
TWFlug Programm

Folgendes Fhem-Format wird alle 5 Minuten geschrieben, damit in Fhem Grafiken erzeugt werden können:

Das Programmfenster läßt sich skalieren, so das es auf dem Desktop schön aussieht:

TWFlug klein

Der Quellcode liegt auf GitHub.

SelBlocks für Selenium installieren oder „Wer testet ist feige“

Das Plug-In SelBlocks für die Selenium IDE darf nicht fehlen. Also über diese Seite installieren und den Browser neu starten:
Bildschirmfoto 2014-10-07 um 19.53.13

Das Plugin ist eine Erweiterung für die Selenium IDE und fügt der IDE die folgenden doch immer nötigen Befehle hinzu:

  • if, elseIf, else
  • try, catch, finally, throw
  • for, foreach, while, continue, break
  • call, function, return
  • loadJsonVars, loadXmlVars, forJson, forXml
  • exitTest

Die Selenium IDE muss natürlich vorhanden sein:
Bildschirmfoto 2014-10-07 um 19.54.42

Eine ausführliche Beschreibung und auch Beispielen sind auf dieser Seite zu finden.

Withings Pulse hat nun CSV Export für Aktivität, SPO2 und Pulse.

Für den Pulse gibt es jetzt für ein paar Werte mehr den CSV Export und zwar für SPO2, Pulse und Aktivität. Was fehlt ist noch die Schlafzeit, das kommt hoffentlich auch noch.

So sieht es im Web Interface für Aktivität aus:

Bildschirmfoto 2014-06-10 um 15.31.56
So für Pulse:
Bildschirmfoto 2014-06-10 um 15.32.47
Und so für SPO2.
Bildschirmfoto 2014-06-10 um 15.32.30

Habe das Teil nun schon 1 Jahr immer bei mir, es ist wirklich gut! Auch der Support ist nett und kompetent. Hier der 1. Blogbeitrag zu dem Teil.

Dazu passt evl. diese Mindmap zum SPO2

20140610-164332-60212755.jpg

{Update 3.10.14} Testfazit: Bugs in iOS8 Version

Der Pulse ist ganz gut aber, folgende Bugs müssen noch dringen gefixt werden, damit auch die Schlaffunktion sinnvoll genutzt werden kann.

1. Es wird reproduzierbar keine Schlafzeit aufgezeichnet, wenn der Puls manuell an und aus geschaltet wird und er auf dem Nachtisch liegt. Man will ja nicht immer das Band Nachts tragen. Das funktionierte auch bis kurz vorm Update auf iOS8. Der Support meint, das Arband muss getragen werden 😉

2. Der Status des Schalters: „Automatisch Erkennen des Aufwachens“ wird nach syncronisierung nicht auf andere Geräte übertragen.

3. Keine manuelle erfassung der fehlenden Schlafzeiten möglich. Das ist für eine Gesundheitsapp ein NOGO!

4. Kein EXPORT der PULSE Daten als CSV.

Wer auf die Funktionen verzichten kann, für den ist es ganz gut zu gebrauchen. Aus meiner Sicht, müssen die Bugs zeitnah gefixt werden. Habe dazu schon beim Support 3 Tickets erstellt, leider kommt da eine default E-Mail.

Ein Quicktest des JeeLink USB-Stick am Mac OS X

Ein JeeLink ist soeben aus England eingetroffen.

20140219-190249.jpg

Die rote Draht-Antenne und der USB-Stecker sind gut sichtbar:

20140219-190652.jpg

Wenn der JeeLink in den USB Port des Rechners gesteckt wird, leuchtet ganz kurz die Rote und Grüne LED auf.

Im Auslieferungszustand ist der JeeLink mit einem Demo-Sketch geladen. (JeeLib).

Dann die Arduino IDE starten und über den Menüpunkt Werkzeuge-Serieller Port die Schnittstelle ( /dev/tty.usbserial… ) auswählen und den Seriellen-Monitor starten. Dort unten links die Geschwindigkeit auf 57600 Baud stellen. Schon wird nach einiger Zeit diese Ausgabe generiert:
Bildschirmfoto 2014-02-19 um 19.04.19

Dann stellen wir mit:
8b 100g 31
die Frequenz auf 868 MHz für FS20 Nutzung, net group = 100 und node ID = 31 ein und klicken auf senden.
Dann werden alle paar Sekunden Daten angezeigt.

Nun schalten wir mal testweise die Aktivitäts-LED an mit 1l on
Bildschirmfoto 2014-02-19 um 19.36.46

20140219-193903.jpgAusschalten geht mit 1l off.

Erster Quicktest: OK

Wie setzt ihr den JeeLink ein?