tutorial arquillian maven testing testng jboss-arquillian

arquillian - Maven omite automáticamente las pruebas



arquillian spring boot (1)

El resultado de depuración muestra esto:

[DEBUG] (s) skip = true

que no solo omite ejecutar las pruebas, también se saltará la compilación . Compruebe el POM principal (al que hace referencia directamente este POM, también cualquier POM corporativo o súper POM introducido por Arquillian) para ver dónde se establece esta bandera, si tiene curiosidad.

La solución es agregar

<skip>false</skip>

a la configuración de plugin surefire en este módulo, o agregar

-Dmaven.test.skip=false

a tu línea de comando.

Referencia

¿Cómo es que Maven omite todas mis pruebas de forma predeterminada? Tengo un pom.xml con pocos perfiles y no puedo ejecutar mis pruebas con ninguno de ellos. Uno de mis perfiles se parece a

<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 ejecuto mvn verify -Pjsf-test entonces el proyecto está compilado, el artefacto jsf-app se copia correctamente en el directorio de destino y las pruebas se omiten. mvn verify -Dtest=TestCalculator tiene el mismo resultado. Estoy usando Arquillian y TestNG para realizar las pruebas reales, pero no estoy seguro si es importante para esta pregunta.

EDITAR

Correr en depuración dará (la parte correspondiente)

[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.

Mi prueba más simple se ve así

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{ //... } }