Maven Tests unitaires de test et d'intégration
UT = Unité de Tests
C' = Tests d'Intégration. Tous mes test d'Intégration des classes annotées avec @Catégorie(IntegrationTest.class)
Mon objectif est:
mvn clean install
=> fonctionne UT et pas
mvn clean install
-DskipTests=true => pas de tests sont exécutés
mvn clean deploy
=> fonctionne UT et pas
mvn clean test
=> fonctionne UT et pas
mvn clean verify
=> fonctionne UT et IL
mvn clean integration-test
=> fonctionne et UT ne sont pas exécutées
mvn clean install deploy
=> fonctionne UT et pas
pom propriétés:
<junit.version>4.12</junit.version>
<surefire-plugin.version>2.18.1</surefire-plugin.version>
<failsafe-plugin.version>2.18.1</failsafe-plugin.version>
- Compilateur:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> <compilerArgument>-Xlint:all</compilerArgument> <showWarnings>true</showWarnings> <showDeprecation>true</showDeprecation> </configuration> </plugin>
- Tests Unitaires:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>${surefire-plugin.version}</version> <configuration> <excludedGroups>com.xpto.IntegrationTest</excludedGroups> </configuration> </plugin>
- Tests D'Intégration:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>${failsafe-plugin.version}</version> <configuration> <groups>com.xpto.IntegrationTest</groups> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> </goals> <configuration> <includes> <include>**/*.class</include> </includes> </configuration> </execution> </executions> </plugin>
Mes résultats sont:
mvn clean install
=> OK
mvn clean install
-DskipTests=true => OK
mvn clean deploy
=> fonctionne UT et pas
mvn clean test
=> OK
mvn clean verify
=> NOK ... seulement UT sont exécutés, mais IL doit également être exécutée
mvn clean integration-test
=> NOK ... UT sont exécutées et ne doit pas et ne sont pas exécutés, mais doit être exécutée
mvn clean install deploy
=> OK
source d'informationauteur Leonel
Vous devez vous connecter pour publier un commentaire.
La solution est: est-ce
Cela vous permettra de contrôler ce qui est exécutée.
l'exécution de l'UT, et C'est:
tourne mais PAS de l'UT
running UT mais pas qu'IL est:
Vous devez suivre les conventions de nommage des plugins qui rend la vie plus facile.
Conventions de nommage pour maven-surefire-plugin (tests unitaires).
Conventions de nommage pour maven-failsafe plugin (tests d'intégration).