Maven saute automatiquement les tests
Comment Maven est de sauter tous mes tests par défaut?J'ai un pom.xml
avec des profils rares, et je ne suis pas en mesure d'exécuter mes tests par aucun d'eux. L'un de mes profils ressemble
<profile>
<id>jsf-test</id>
<dependencies>
<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-arquillian-container-remote</artifactId>
<version>${jboss.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.jsf.tests</groupId>
<artifactId>jsf-app</artifactId>
<version>${jsf-app.version}</version>
<type>war</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-jsf-app</id>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>com.jsf.tests</groupId>
<artifactId>jsf-app</artifactId>
<version>${jsf-app.version}</version>
<type>war</type>
<destFileName>jsfapp.war</destFileName>
<outputDirectory>target</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire.version}</version>
<configuration>
<skipTests>false</skipTests> <!-- desperate trial -->
<properties>
<property>
<name>listener</name>
<value>${testng.listeners}</value>
</property>
</properties>
</configuration>
</plugin>
</plugins>
</build>
</profile>
Si je lance mvn verify -Pjsf-test
puis le projet est compilé, jsf-app
artefact est correctement copié dans le répertoire de destination, et les tests sont ignorés. mvn verify -Dtest=TestCalculator
a le même résultat. Je suis à l'aide de Arquillian
et TestNG
pour effectuer les tests, mais je ne sais pas si c'est important pour cette question.
MODIFIER
Cours d'exécution dans le debug donnera (la partie pertinente)
[DEBUG] (s) reportFormat = brief
[DEBUG] (s) reportsDirectory = /home/pmensik/Work/workspace/epp-test/cdi-arquillian- test/target/surefire-reports
[DEBUG] (f) reuseForks = true
[DEBUG] (s) runOrder = filesystem
[DEBUG] (s) skip = true
[DEBUG] (s) skipTests = false
[DEBUG] (s) systemPropertyVariables = {jsfPortlet=true}
[DEBUG] (s) testClassesDirectory = /home/pmensik/Work/workspace/epp-test/cdi-arquillian-test/target/test-classes
[DEBUG] (s) testFailureIgnore = false
[DEBUG] (s) testNGArtifactName = org.testng:testng
[DEBUG] (s) testSourceDirectory = /home/pmensik/Work/workspace/epp-test /cdi-arquillian-test/src/test/java
[DEBUG] (s) trimStackTrace = true
[DEBUG] (s) useFile = true
[DEBUG] (s) useManifestOnlyJar = true
[DEBUG] (s) useSystemClassLoader = true
[DEBUG] (s) useUnlimitedThreads = false
[DEBUG] (s) workingDirectory = /home/pmensik/Work/workspace/epp-test/cdi-arquillian-test
[DEBUG] (s) project = MavenProject: org.jboss.gatein.test:cdi-portlet-test:6.1-ER01 @ /home/pmensik/Work/workspace/epp-test/cdi-arquillian-test/pom.xml
[DEBUG] (s) session = org.apache.maven.execution.MavenSession@3c3483ec
[DEBUG] -- end configuration --
[INFO] Tests are skipped.
Mon plus simple test ressemble à ceci
public class Test {
@Drone
protected WebDriver driver;
@Deployment(testable = false)
public static WebArchive createTestArchive() {
return ShrinkWrap.createFromZipFile(WebArchive.class, new File("target/CDIPortlet.war"));
}
@Test
public void testCase{
//...
}
}
source d'informationauteur Petr Mensik
Vous devez vous connecter pour publier un commentaire.
La sortie de débogage affiche ceci:
qui non seulement ignore de course les tests, il va également passer compilation. Vérifiez le POM parent (directement référencé par cette POM, toute entreprise Pdm ou super POMs introduit par Arquillian) pour voir où ce drapeau est mis, si vous êtes curieux.
La solution est d'ajouter
pour le plugin surefire config dans ce module, ou ajouter
à votre ligne de commande.
Référence