Programa de estadísticas de cobertura de código incremental de prueba única
Antecedentes
Los datos de escaneo de código incremental son una base importante para el acceso en línea. Todas las pruebas ejecutadas actualmente en el entorno de prueba tienen estadísticas de cobertura, pero algunos requisitos o servicios son más adecuados para su uso. Se utiliza una prueba única para la verificación y parte del personal de I + D tiene la buena costumbre de realizar pruebas únicas. La falta de cobertura de pruebas únicas no puede complementarse con casos de análisis de cobertura, lo que también trae ciertos problemas a la evaluación del acceso en línea. Por lo tanto, integramos la cobertura de código incremental de pruebas individuales en la cobertura del entorno de prueba para resolver los problemas anteriores.
Solución general
Plataforma de casos de uso
1. La plataforma de integración continua pasa el nombre del proyecto, el nombre de la sucursal y la información de la dirección git a la plataforma de prueba de punto único La plataforma de prueba descarga el código fuente según esta información
2. Consulte el complemento maven-surefire-report-plugin
Características del complemento:
.Resultados:
Abra surefire-report.htm para ver el número de casos de ejecución, la tasa de aprobación de la ejecución, situaciones específicas de falla de ejecución y la cantidad de casos de falla.
3. Utilice jacoco para generar cobertura de prueba unitaria
Al ejecutar el comando mvn, agregue el parámetro "org.jacoco:jacoco-maven-plugin:prepare-agent".
Entre ellos, jacoco-maven-plugin va seguido de la versión de jacoco; se recomienda agregar -Dmaven.test.failure.ignore=true; de lo contrario, si la prueba unitaria falla, se cancelará. interrumpido directamente y no se generará el archivo exec.
Después de ejecutar el comando anterior, se generará un archivo jacoco.exec en el directorio de destino bajo el directorio actual, es decir, el archivo de superposición:
4. El jacoco generado. El archivo exec se pasará al sistema de estadísticas de cobertura.
Plataforma de cobertura
1. Agregar tarea de estadísticas de cobertura
Cuando la plataforma de casos de uso recibe la tarea de ejecutar una única prueba, llamará a la plataforma de cobertura para crear cobertura A través de la interfaz de la tarea de cobertura, la dirección del código fuente, la dirección ftp del paquete jar, la rama del código y otros datos se pasan a la plataforma de cobertura. La plataforma de cobertura crea la tarea de cobertura y realiza un trabajo preliminar. La plataforma de cobertura creará la tarea de cobertura y completará algunos trabajos de preparación por adelantado: descargar el código fuente y el paquete jar, ejecutar codeiff y almacenar los resultados de la diferencia en la base de datos.
2. Cobertura estadística
Mirando hacia atrás en el enfoque sobre la marcha anterior para escenarios de cobertura de código diferencial, cuando el evaluador hace clic en el botón de cobertura, se obtendrá el seguimiento de ejecución del código. en tiempo real desde el servidor de prueba.
Como puede ver en la figura, si dejamos parte de la tarea de probar el servidor a la plataforma de casos de uso, básicamente podemos completar las estadísticas de cobertura de código incremental de prueba única sin cambiar el código.
Lógica principal: