Come mai Maven sta saltando tutti i miei test di default? Ho uno pom.xml
con pochi profili e non sono in grado di eseguire i miei test su nessuno dei due. Uno dei miei profili assomigliaMaven sta automaticamente saltando le prove
<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>
Se corro mvn verify -Pjsf-test
poi il progetto viene compilato, jsf-app
artefatto è correttamente copiato nella directory di destinazione e le prove sono saltati. mvn verify -Dtest=TestCalculator
ha lo stesso risultato. Sto usando Arquillian
e TestNG
per eseguire i test effettivi, ma non sono sicuro che sia importante per questa domanda.
EDIT
Rodaggio di debug darà (la parte rilevante)
[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 = [email protected]
[DEBUG] -- end configuration --
[INFO] Tests are skipped.
La mia prova più semplice assomiglia a questo
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{
//...
}
}
Sei sicuro non si esegue con '-DskipTests' in qualche modo? Cosa significa 'mvn clean verify' o' mvn clean install'? – vikingsteve
Prova a girare con '-X' per ottenere l'output di debug, quindi controlla la configurazione del plugin surefire. Sospetto anche un problema di ereditarietà dei plugin. Il plugin surefire è configurato in un POM padre? – user944849
e dove sono definiti i test? –