web-dev-qa-db-fra.com

Exécutez Junit Suite à l'aide de la commande Maven

J'ai plusieurs suites de tests Junit (SlowTestSuite, FastTestSuite, etc.). Je voudrais exécuter uniquement une suite spécifique en utilisant la commande maven. par exemple.

mvn clean install test -Dtest=FastTestSuite -DfailIfNoTests=false

mais ça ne marche pas. Tout simplement ne pas exécuter de test du tout. Toutes suggestions s'il vous plaît.

32
Java SE

J'ai atteint cet objectif en ajoutant des propriétés à pom comme:

<properties>
    <runSuite>**/FastTestSuite.class</runSuite>
</properties>

et le plugin maven-surefire devrait être:

        <plugin>
            <groupId>org.Apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <includes>
                    <include>${runSuite}</include>
                </includes>
            </configuration>
        </plugin>

cela signifie que par défaut, il exécutera FastTestSuite mais vous pouvez exécuter d'autres tests, par exemple SlowTestSuite utilisant la commande maven comme:

mvn install -DrunSuite=**/SlowTestSuite.class -DfailIfNoTests=false
41
Java SE

Le mot-clé que vous avez manqué est maven-surefire-plugin: http://maven.Apache.org/plugins/maven-surefire-plugin/ .

L'utilisation est:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.Apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12.1</version>
        <configuration>
          <includes>
            <include>**/com.your.packaged.Sample.Java</include>
          </includes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

Si vous effectuez une petite recherche sur le débordement de pile, vous pouvez trouver des informations:

Exécution d'une suite de tests JUnit4 dans Maven à l'aide du plug-in maven-fail-safetilisation des catégories JUnit avec le plug-in Maven Failsafe

De plus, vous pouvez définir un profil, comme fastTest, qui sera déclenché en ajoutant un paramètre à la ligne cmd:

mvn package -PfastTests

Ce profil comprendrait également quelques inclusions.

5
Jean-Rémy Revy