Je suis à la recherche d'exécuter des tests intégrés dans maven et les regrouper par catégorie en utilisant quelque chose comme ceci:Utilisation de Maven avec le plugin failsafe pour exécuter des tests catégorisés
Interface:
package com.path.for.testing;
public interface SlowTests {
}
Classe d'essai:
import com.path.for.testing.SlowTests
@Category(SlowTests.class)
public class SlowTest {
...
}
Pom fichier:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
...
<profiles>
...
<profile>
<id>functional-test-slow-tests</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<groups>com.path.for.testing.SlowTests</groups>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
Et je le lance avec: mvn clean install -P test-test-lent-tests
Mon problème est que lorsqu'il est exécuté, il semble parcourir tous les tests, pas seulement ceux spécifiés. La catégorisation ne fonctionne-t-elle pas sur des tests intégrés? Ou est-ce que je fais quelque chose de mal? Je mettrai à jour avec plus d'informations comme demandé. Toute aide ou direction sur ce problème est vraiment appréciée, je suis nouveau à cela et il est très possible que je manque quelque chose d'évident. Merci.
Modifier en réponse à User944849:
Lors de l'exécution avec un argument -X, je pense que le plug-in est failsafe CHAISE plusieurs fois. J'ai également ajouté le nouvel ID d'exécution que vous avez suggéré. C'est ce que je reçois lorsque le projet est construit:
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal: org.apache.maven.plugins:maven-failsafe-plugin:2.12:integration-test (default-integration-tests)
[DEBUG] Style: Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
...
[DEBUG] -----------------------------------------------------------------------
[DEBUG] Goal: org.apache.maven.plugins:maven-failsafe-plugin:2.12:verify (default-integration-tests)
[DEBUG] Style: Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
Les tests utilisent la nouvelle ID que vous suggérez, mais je suis toujours obtenir le même résultat, à savoir les tests indésirables sont encore en cours d'exécution.
Avez-vous vérifié que JUnit 4.7+ est configuré? Ou utilisez-vous TestNG? – khmarbaise