Comment utiliser le plug-in Maven Surefire avec différents groupes pour le test et le test d'intégration?

StackOverflow https://stackoverflow.com/questions/412717

Question

Je souhaite utiliser testng avec plug-in Surefire sur Maven . L'idée est de baliser certains tests avec un groupe integrationTest et d'exécuter le plug-in à deux reprises: pour l'objectif test en excluant le groupe integration-test et pour l'objectif pom.xml en incluant le groupe mvn integration-test uniquement.

J'ai trouvé des informations pour l'exécution du plug-in pour les deux objectifs et cela fonctionne, mais le groupe pour la deuxième exécution ne fonctionne pas (aucun test n'est exécuté).

Voici la configuration du plug-in dans l'élément de construction de mon mvn test:

  <plugin>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
      <excludedGroups>integrationTest</excludedGroups>
      <reportFormat>brief</reportFormat>
      <trimStackTrace>true</trimStackTrace>
      <useFile>false</useFile>
    </configuration>
    <executions>
      <execution>
        <id>integration-test</id>
        <phase>integration-test</phase>
        <goals>
          <goal>test</goal>
        </goals>
        <configuration>
          <groups>integrationTest</groups>
          <excludedGroups/>
          <reportsDirectory>${project.build.directory}/surefire-reports/integration</reportsDirectory>
        </configuration>
      </execution>
    </executions>
  </plugin>

Une idée? <=> exécute tous les tests unitaires comme prévu (à l'exception du groupe <=>), mais le second test écrit simplement:

  

Exécution de TestSuite
  Tests effectués: 0, Échecs: 0, Erreurs: 0, Ignoré: 0, Temps écoulé: 0.562 seconde

Le résultat de <=> est celui attendu, les tests sont exécutés et le groupe <=> est ignoré.

Était-ce utile?

La solution

Je l'ai eu - implémentation de configuration irritante!

<excludedGroups/> ne remplace pas <excludedGroups>integrationTest</excludedGroups>. Vous devez spécifier un groupe (inconnu) à la place, <excludedGroups>none</excludedGroups> par exemple.

Autres conseils

Le plug-in Failsafe est le meilleur moyen de le faire. (il n’était peut-être pas disponible lorsque vous avez posté cette question). Il ajoute une phase de test d'intégration au cycle de vie de la construction. Il vous permet de faire exécuter des activités de configuration et de démontage avant et après les tests, ce qui est utile pour gérer un conteneur incorporé, par exemple.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top