2011-07-25 9 views

Respuesta

25

Se tienen que desembolsar la JVM como se explica here

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.9</version> 
    <configuration> 
    <forkMode>always</forkMode> 
    </configuration> 
</plugin> 

También debe ser posible con sólo declarar una propiedad Sytem

mvn -DforkMode=always test 

Como se describe en la documentación: horquillas "siempre" para cada clase de prueba. No sé si la configuración "pertest" se bifurcará para cada prueba.


Gracias a @Djebel por señalar que forkMode es obsoleto ahora. Hay una documentación detallada en "Fork Options and Parallel Test Execution" y cómo utilizar los nuevos parámetros forkCount y reuseForks y que también incluye los siguientes consejos de migración:

Old Setting       New Setting 
forkMode=once (default)    forkCount=1 (default), reuseForks=true (default) 
forkMode=always      forkCount=1 (default), reuseForks=false 
forkMode=never      forkCount=0 
forkMode=perthread, threadCount=N forkCount=N, (reuseForks=false, if you did not had that one set) 
+2

Sí, 'pertest' funciona también –

+3

De nota, 'forkMode' ahora está en desuso, [reuseForks] (http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#reuseForks) debería ser usado en su lugar – FBB

1

¿Qué pasa con la opción estándar forkMode? ¿Ejecuta las pruebas en paralelo en lugar de en serie como lo desea?

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
    <forkMode>always</forkMode> 
    </configuration> 
</plugin> 
1

Bueno he probado todas estas respuestas, pero lo que acabo fue varias funciones de prueba de una misma prueba JUnit funcionando al mismo tiempo. Para la creación de una JVM para cada archivo de prueba unitaria (lo que necesitaba) debe utilizar la configuración folowing (La diferencia es el parámetro parallel):

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.9</version> 
     <configuration> 
      <parallel>classes</parallel> 
      <reuseForks>false</reuseForks> 
      <includes> 
       <include>**/*Test.java</include>  
      </includes> 
     </configuration> 
    </plugin> 

Sustituir el Mattern **/*Test.java uno que coincida con esas pruebas JUnit que se deben ejecutar en diferentes JVM. Para obtener más información, visite: Combining forkCount and parallel.

Cuestiones relacionadas