2012-04-30 19 views
6

¿Es posible ejecutar un paquete xml predefinido desde la línea de comandos a través de maven?TestNG surefire, ejecutar suite con la línea de comandos maven

Puedo realizar una clase o una prueba en particular. Pero no puedo ejecutar una suite.

Esto es lo que estoy corriendo desde la línea de comandos: ->

mvn -Dtest=TestCircle#mytest -Denvironment=test -Dbrowser=firefox -DscreenShotDirectory=/Users/jeremy/temp test 

tengo un conjunto definido, que funciona muy bien a través de IntelliJ, pero no estoy seguro de cómo invocar la suite. archivo xml

O, por ejemplo, después de que se hayan ejecutado las pruebas, testng crea un archivo de prueba fallida que está configurado para ejecutar nuevamente todas las pruebas fallidas.

Usando mvn, ¿cómo iniciaría este conjunto de pruebas?

+0

Encontré la respuesta aquí: http://stackoverflow.com/questions/11762801/run-junit-suite-using-maven-command – Philippe

Respuesta

5

Normalmente no necesita nada especial en relación con TestNG. Sólo tiene que utilizar el experto-segura-plugin:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12</version> 
    </plugin> 

y en base a que todas las pruebas que están anotados correctamente debería funcionar. Ah, por supuesto, necesita una dependencia a TestNG así:

<dependency> 
    <groupId>org.testng</groupId> 
    <artifactId>testng</artifactId> 
    <version>6.5.2</version> 
    <scope>test</scope> 
</dependency> 

Por lo general, no lo haría Crear prueba Suites más, hacer que este un punto que usted tiene que mantener lo que a menudo se pierde para actualizar etc. sólo tiene que utilizar anotaciones.

Si necesita ejecutar un conjunto particular de pruebas, solo defina un archivo testng.xml en src/test/resources y mejore la configuración del maven-surefire plugin adecuadamente.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12</version> 
    <configuration> 
     <suiteXmlFiles> 
     <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> 
     </suiteXmlFiles> 
    </configuration> 
    </plugin> 
4
<build> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12</version> 
    <configuration> 
     <suiteXmlFiles> 
     <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> 
     </suiteXmlFiles> 
    </configuration> 
    </plugin> 
</build> 

que trabajó para mí.

+0

Hice lo mismo, pero desafortunadamente no funcionó –

14

Esta respuesta me dio lo que estaba buscando, a saber, la capacidad de pasar en la línea de comandos el nombre de la suite Quiero correr:

http://www.vazzolla.com/2013/03/how-to-select-which-testng-suites-to-run-in-maven-surefire-plugin/

En pocas palabras, añada lo siguiente a experta en la estrofa-SURFIRE-plugin de su pom.xml:

<suiteXmlFiles> 
    <suiteXmlFile>${suiteXmlFile}</suiteXmlFile> 
</suiteXmlFiles> 

a continuación, se puede especificar el archivo XML de baño TestNG deseada en la línea de comandos:

mvn clean install test -DsuiteXmlFile=testngSuite.xml 
Cuestiones relacionadas