In genere scrivere test non entusiasma e l'importanza di una definizione formale dell'attività di testing viene molto spesso sottovalutata sottoponendo il software a prove approssimative.
Realizzare un insieme di casi di test che metta alla prova significativamente il software realizzato è un'attività ingegneristica fondamentale. Avere poi a disposizione un framework che ne
automatizzi la definizione ed esecuzione è vitale nei moderni processi di realizzazione del software.
Con queste considerazioni in mente, nel resto del nostro articolo andiamo ad introdurre l'ambiente di test che ci permetterà poi di analizzare la struttura fondamentale di una classe di test in ambiente Quarkus.
JUnit
L'ambiente di test di Quarkus supporta JUnit 5. Per testare applicazioni Quarkus abbiamo bisogno di introdurre le dipendenze quarkus-junit5
e maven-surefire-plugin
nel file pom.xml
all'interno di uno dei progetti maven realizzati nei precedenti articoli:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</dependency>
e successivamente il plugin associato a maven-surefire
:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire-plugin.version}</version>
<configuration>
<systemPropertyVariables>
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
<maven.home>${maven.home}</maven.home>
</systemPropertyVariables>
</configuration>
</plugin>
inoltre per poter eseguire un qualsiasi tipo di test possiamo aggiungere le seguenti ulteriori dipendenze:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.6.2</version>
<scope>test</scope>
</dependency>
Siamo ora pronti ad analizzare il codice della nostra classe che proporremo nella prossima lezione.