Für einen Geburtstag im Bekanntenkreis wollte ich ein kleines Spiel einer Gameshow aus dem Fernsehen als Client-Server-Anwendung nachbauen. Dabei soll sich ein Administrator als jener ausgeben können und als Spielleiter fungieren, während sich Clients zur reinen Anzeige der Daten, beziehungsweise des Spiels, zum Server verbinden und in Echtzeit die aktuellen Fragen, Timer, Antwortversuche und Lösungen anzeigen, sobald der Spielleiter diese zur Anzeige freigibt. Dazu nutze ich WebSockets und Angular.
Als ich zuletzt im Rahmen einer anderen Webseite große Tabellen mit weit mehr als 100 Datensätzen mittels Contao erzeugen und darstellen lassen wollte, wurden meine Tabellen beim Speichern im Backend abgeschnitten. Doch nicht nur das, auch andere Eigenschaften des Inhaltselement "Tabelle" wurden nicht mehr korrekt gespeichert, So ging beispielsweise die definierte CSS-Klasse verloren. Woran das liegt? Eine simple PHP-Konfiguration.
Schon seit Jahren arbeite ich in java-basierten Testautomatisierungsprojekten ausschließlich mit TestNG als Testframework.
Als ich im Jahr 2014 im Beruf die ersten Projekte umsetzte, konnte TestNG einfach durch ein besseres Feature-Set und eine deutlich bessere parallelisierte Testausführung punkten.
Und auch in der heutigen Zeit, gefällt mir persönlich die Entwicklung von TestNG besser, zum Beispiel auch die Guice-Integration. Mit einer simplen Annotation an einer Testklasse, kann das eigene Guice-Modul geladen und somit Depenency-Injection deutlich vereinfacht werden.
Diesen Komfort gibt es in JUnit (5.7.2) nicht, jedoch lässt es sich mit einfachen Mitteln nachbauen und ich zeige wie.
Da ich nun bereits seit einigen Tagen mit Git arbeite und ein Fan von Aliasen und einfachen Workflows bin, aber oft bei Kollegen über folgende Meldung stolpere, möchte ich kurz zeigen, wie man diese nervige Meldung beim git push neuer lokaler Branches los wird.
$ erku@code-fever:~$ git checkout -b /feature/new-local-branch $ erku@code-fever:~$ git push fatal: The current branch feature/new-local-branch has no upstream branch.
Das ganze lässt sich durch das Setzen eines Default Settings in der Git-Konfiguration ändern, so dass der lokale Branch-Name immer als Initialeinstellung für den Remote-Branch genutzt wird.
Beim Update von JDK 8 auf JDK 11,12 oder höher müssen bei Verwendung von Maven und des Maven Compiler Plugins die Source und Target Versionen von Java angehoben werden. Dabei gibt es ein kleines Fettnäpfchen, welches viele meiner Kollegen nicht auslassen. Ich erkläre kurz, wie man den unten beschriebenen Fehler korrigiert und das Projekt wieder kompilierbar macht.
Bei Verwendung von Selenium und dessen RemoteWebDriver kann es bei der Ausführung von Tests und Interaktionen dazu kommen, dass Verbindungsprobleme oder Netzwerkprobleme auftreten und die intern von Selenium festgelegten Timeouts für ConnectionTimeout und ReadTimeout greifen. Vor allem der Read Timeout sorgt hier dann für hängende Selenium-Sessions und lässt sich meist durch ein Abbruch des Testlaufs beheben.
Ich möchte zeigen, wie man Seleniums Default-Wert von 3 Stunden des Read-Timeouts von Selenium verändern kann.
Beim Ausführen oder Debuggen von einzelnen Tests komplexer Testsuiten mit Gradle in IntelliJ habe ich des Öfteren von Kollegen schon folgenden Fehler erhalten - Mit der einfachen Bitte, dies doch zu Beheben.
Causedby: org.gradle.api.GradleException:No tests found for given includes:[com.example........XyzTestclassTest]
Das Ganze ist jedoch kein globaler Fehler in den vorhanden Testsuiten oder Testfällen, sondern schlichtweg eine Konfigurationseinstellung im IntelliJ.