¿Es posible decirle a Maven2 que ejecute cada prueba jUnit en una nueva instancia de JVM (fork) en modo serie, es decir, una por una?¿Cómo decirle a Maven2 que ejecute las pruebas jUnit una a una en cada instancia nueva de JVM?
Respuesta
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)
¿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>
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.
- 1. Ejecutando cada prueba JUnit en una JVM separada en Eclipse?
- 2. ¿Cómo decirle a FORFILES que ejecute Command en Path?
- 3. Cómo ejecutar todas las pruebas que pertenecen a una determinada categoría en JUnit 4
- 4. ¿Cómo puedo decirle a Perl que ejecute código cada 20 segundos?
- 5. ¿Cómo decirle a JavaScript que ejecute una función después de cargar un elemento?
- 6. ¿Puedo hacer que @OnApplicationStart no se ejecute en las pruebas?
- 7. ¿Hay una nueva instancia de controlador para cada solicitud?
- 8. startActivity crear una nueva instancia de Activity cada vez
- 9. ¿Hay alguna manera de decirle a la barra de refuerzo que no ejecute pruebas eunit para las dependencias?
- 10. ¿Cómo decirle a PowerShell que espere a que termine cada comando antes de comenzar el siguiente?
- 11. Crear una nueva tarea que ejecute un programa
- 12. ¿Cómo le digo a jQuery que ejecute una función solo en una página web específica?
- 13. evitar que una aplicación C# ejecute más de una instancia
- 14. Maven2 junit timeout anotación no funciona
- 15. ¿Cómo decirle a 'git' que 'olvide' TODAS las confirmaciones anteriores?
- 16. Ejecutar todas las pruebas en Junit 4
- 17. ¿Cómo decirle a Google que se ha movido una página?
- 18. ¿Cómo me aseguro de que solo una de una determinada categoría de trabajo se ejecute a la vez en Hudson?
- 19. Nueva a Ant, JUnit ClassNotFoundException con
- 20. ¿Cómo hago que IntelliJ IDEA ejecute todas las pruebas en un paquete, incluidos los subpaquetes
- 21. Cómo decirle a RadioButtonList que NO genere una tabla
- 22. Agregar nueva propiedad a cada documento en una gran colección
- 23. JUnit: ¿Cómo simular las pruebas de System.in?
- 24. ¿Cómo programo que una tarea se ejecute a intervalos periódicos?
- 25. ¿Es posible decirle a Safari que repita el encabezado de una tabla en las páginas impresas?
- 26. ¿Hay alguna manera de hacer que Eclipse ejecute una prueba JUnit varias veces hasta que falle?
- 27. Creando una nueva instancia de un bean después de cada prueba de unidad
- 28. ¿Cómo actualizar una instancia anterior de Elasticsearch en ejecución a una versión más nueva?
- 29. ¿Cómo ejecutar simultáneamente todas las pruebas JUnit para un proyecto Eclipse Java sin Maven?
- 30. Agregar una nueva instancia en weka
Sí, 'pertest' funciona también –
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