what unit test stands reports plugin for example does are maven-2 ant junit cobertura

maven 2 - test - corriendo junits y cobertura con maven



surefire reports are in (3)

En nuestro proyecto, ejecutamos tanto junits como cobertura utilizando maven. El problema que estoy enfrentando es que,

  1. Los casos de prueba junit se ejecutan dos veces, una antes del proceso de creación del jar y otra vez para generar informes de cobertura de cobertura. Al ejecutar cobertura y junits con hormiga, ejecutamos junits solo una vez desde entonces, cobertura se ejecuta junto con junits. ¿Hay alguna forma de configurar el caso anterior con maven? Sé que podemos usar la propiedad "maven.test.skip" para omitir los junits. Pero cuando hago esto, no puedo ver los informes de archivos junit xml y html.
  2. Además, en Maven, ¿cómo configurar Junits para que se ejecute en lotes o en paralelo?

¡gracias!


Intente agregar cobertura como referencia de ámbito de compilación. Y publica las partes relevantes de tu pom.


Aunque ya no puedo encontrar la página exacta, recientemente leí una discusión sobre por qué es una buena idea ejecutar las pruebas dos veces. Las cuestiones clave citadas se referían a los efectos de la alteración del código Cobertura byte en la precisión de sus pruebas. En ciertos casos, el momento de la ejecución del código puede ser importante, la alteración del código de bytes puede provocar que las pruebas que fallan en JUnit pasen cuando se ejecutan solo en Cobertura y viceversa. Por esta razón, se recomendó que las pruebas se puedan ejecutar dos veces. La mayoría de los ejemplos citados tenían que ver con comportamientos de subprocesos múltiples, pero imagino que podría haber otros casos donde la alteración del código de bytes puede causar problemas en las pruebas. Hacer que las pruebas se ejecuten en ambos sentidos le proporciona los resultados de línea de base y también reduce las posibilidades de enviarlo a una búsqueda inútil si Cobertura de hecho está alterando el éxito de la prueba.


Esto sucede porque la ejecución del informe requiere la ejecución de la prueba para que pueda crear los informes. Si existiera un objetivo de "solo sitio" en el complemento del sitio que no tenía la anotación de @requiresDependencyResolution test , podría vincularse a la fase de prepare-package del proyecto y sus informes se generarían sin que las pruebas se ejecuten dos veces.

Lamentablemente, parece que actualmente no existe ese objetivo (ver mi pregunta sobre el tema). Vea mi respuesta a la pregunta para obtener detalles de una solución alternativa.