GEDOPLAN

Quarkus Continuous Testing

Alle

Seit der Version 2 unterstützt Quarkus das sog. Continuous Testing. Dabei werden im Deveplopment Mode kontinuierlich die Tests des in der Entwicklung befindlichen Projekts durchgeführt.

Nehmen wir mal an, dass wir mit dem folgenden Maven-Kommando ein neues Quarkus-Demo-Projekt aufsetzen :

mvn io.quarkus.platform:quarkus-maven-plugin:2.2.3.Final:create \
-DprojectGroupId=de.gedoplan \
-DprojectArtifactId=quarkus-demo \
-DclassName="de.gedoplan.HelloEndpoint" \
-Dpath="hello"

Das Demoprojekt enthält dann im Main Classpath einen simplen REST Endpoint in der Klasse de.gedoplan.HelloEndpoint sowie einen passenden Test im Test Classpath.

Starten wir nun im Projektverzeichnis quarkus-demo den Development Mode:

mvn quarkus:dev
[INFO] Scanning for projects…
…
Listening for transport dt_socket at address: 5005
__  ____  __  _____   ___  __ ____  ______
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2021-10-03 11:58:09,287 INFO [io.quarkus] (Quarkus Main Thread) quarkus-demo 1.0.0-SNAPSHOT on JVM (powered by Quarkus 2.2.3.Final) started in 5.277s. Listening on: http://localhost:8080
2021-10-03 11:58:09,291 INFO [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-10-03 11:58:09,297 INFO [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, resteasy, smallrye-context-propagation]

--
Tests paused
Press [r] to resume testing, [o] Toggle test output, [h] for more options>

In diesem Modus können nun bekanntlich Quellcode-Änderungen durchgeführt werden, die bei einem REST Call automatisch zu einem Hot Reload führen. Seit der 2er-Version lassen sich hierin zudem kontinuierlich Tests durchführen. Dieser Modus ist zunächst inaktiv und kann mit der Taste r aktiviert werden:

Listening for transport dt_socket at address: 5005
__  ____  __  _____   ___  __ ____  ______
 --/ __ \/ / / / _ | / _ \/ //_/ / / / __/
 -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2021-10-03 12:02:26,886 INFO  [io.quarkus] (Quarkus Main Thread) quarkus-demo 1.0.0-SNAPSHOT on JVM (powered by Quarkus 2.2.3.Final) started in 3.410s. Listening on: http://localhost:8080
2021-10-03 12:02:26,904 INFO  [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-10-03 12:02:26,909 INFO  [io.quarkus] (Quarkus Main Thread) Installed features: [cdi, resteasy, smallrye-context-propagation]


--
All 1 test is passing (0 skipped), 1 test was run in 3415ms. Tests completed at 12:02:45.
Press [r] to re-run, [o] Toggle test output, [h] for more options>

Die Ausgabe ist natürlich in den üblichen Farben gehalten (wenn die Konsolenausgabe Farben erlaubt), sodass mit einem schnellen Blick der Teststatus erfasst werden kann: Grün – prima, rot – ups!

Das alleine ist schon sehr cool, aber es kommt noch besser: Bei einer Codeänderung werden nicht etwa sämtliche Tests des Projekts ausgeführt, was in realistischen Projekten recht viele sein könnten, sondern nur diejenigen, die von der Änderung betroffen sind. Dadurch bleibt die Teststatus-Ermittlung flüssig und wirklich kontinuierlich!

Weitere Informationen

Wir versorgen Sie gerne mit weiterem Input:

Dirk Weil, GEDOPLAN GmbH

Autor

Diesen Artikel teilen

LinkedIn
Xing

Gibt es noch Fragen?

Fragen beantworten wir sehr gerne! Schreibe uns einfach per Kontaktformular.

Schulungen mit der selben Kategorie:

Blogkategorie: Alle
Es wurden keine Ergebnisse gefunden.

weitere Artikel

Kontakt

Brauchen Sie eine individuelle IT-Schulung, eine fundierte Beratung oder eine individuelle Softwareentwicklung? Dann sind Sie hier genau richtig!

Tim Neumann

Geschäftsleitung

GEDOPLAN GmbH
Stieghorster Straße 60
33605 Bielefeld

GEDOPLAN GmbH
Kantstraße 164
10623 Berlin

    Kontakt

    Tim Neumann

    Geschäftsleitung

    GEDOPLAN GmbH
    Stieghorster Straße 60
    33605 Bielefeld

    GEDOPLAN GmbH
    Kantstraße 164
    10623 Berlin

    Brauchen Sie eine individuelle IT-Schulung, eine fundierte Beratung oder eine individuelle Softwareentwicklung? Dann sind Sie hier genau richtig!