Cómo utilizar jacoco para generar un informe promedio de prueba de integración
Primero, debe colocar el paquete jacocoagent.jar de jacoco en el servidor donde está implementada la aplicación y luego agregar los siguientes parámetros después de JAVA_OPTIONS del servicio del sistema:
1 p>
-javaagent: [su ruta/]jacocoagent.jar=includes=com.xxx.xxx.*, salida=tcpserver, dirección=xxx.xxx.xxx.xxx, puerto=xxxxxx
Explicación del parámetro:
yourpath es la ruta del directorio donde coloca el archivo jacocoagent.jar;
includes representa las clases que desea recopilar (tenga cuidado de no escribir el nombre del paquete, pero escríbalo como .*Si no, el valor predeterminado es *, recopilará todas las clases en el servicio de la aplicación, incluidos servidores y otras clases de middleware, que generalmente deben filtrarse;
La salida tiene 4 valores , a saber, file, tcpserver, tcpclient, mbean, el valor predeterminado es file. El método que usa file puede generar el archivo de cobertura solo cuando se detiene el servicio de la aplicación, mientras que el método que usa tcpserver puede descargar el archivo de cobertura sin detener el servicio de la aplicación. Más adelante presentaremos cómo usar el método de volcado para obtener el archivo de cobertura. /p>
la dirección es la dirección IP y el puerto es el puerto. Estos son los dos parámetros necesarios para usar el método tcpserver. en el método de volcado posterior (aquí solo puedo usar la IP del servidor para la dirección. Si usa otras IP, se informará un error al iniciar el servicio
Para obtener más parámetros, consulte). agente java.
Después de configurar el servicio de aplicación JAVA_OPTIONS, inicie el servidor y luego comience a ejecutar la integración. Después de probar y ejecutar, de hecho, jacocoagent ha registrado datos de cobertura. Podemos usar la siguiente tarea ant para volcar. el archivo de cobertura:
build.xml
1 2 3
lt; nombre de destino="downloadUatCoverageData"gt; .xxx.xxx.xxx" port=" xxxx" reset="true" destfile="${basedir} /uat.exec "append="false"/gt;lt;/targetgt;
El dirección y puerto aquí son los valores de dirección y puerto que se acaban de escribir en JAVA_OPTIONS, y destfile es la ruta al archivo de superposición generado.
Tenga en cuenta que aunque obtiene el archivo de cobertura para las pruebas de integración, debe aplicar los archivos de clase en el servidor para generar el informe de cobertura correspondiente. Si los archivos de clase son compilados por otras JVM, la cobertura informada. la voluntad es 0.
Existen dos métodos para obtener los archivos de clase necesarios para el archivo de cobertura:
Descargar el paquete (ear, war o jar) implementado por el servicio de la aplicación y luego descomprimirlo en obtenga los archivos de clase correspondientes;
Después de completar la prueba unitaria en la recepción, puede colocar los archivos de clase en un paquete comprimido, luego cargarlo en el servidor y finalmente obtenerlo del servidor cuando sea necesario. .
Después de obtener el archivo de cobertura de prueba de integración, combinado con el archivo de cobertura de prueba unitaria obtenido previamente, podemos usar el siguiente comando para fusionar los dos archivos y obtener el archivo de cobertura fusionado:
build.xml
1 2 3 4 5
lt; nombre de destino=" mergeCoverage"gt; jacoco: fusionar destfile="merged.exec"gt; =