La covertura de codigo es un pieza en plataformas de gestión de calidad, para asegurar que haces bien las cosas deben ser revisadas o comparadas contra un estándar, hay herramientas como Sonarqube o el propio VIsual Studio pueden ejecutar este reportes, bien para realizar "cobertura" empleando SonarQube es requerido la siguiente configuración:
1. Agregar las siguientes propiedades al archivo pom:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
... | |
<properties> | |
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin> | |
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis> | |
<sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath> | |
<sonar.language>java</sonar.language> | |
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin> | |
<sonar.test>target/test-classes</sonar.test> | |
</properties> | |
... |
2. Agregar el plugin de JaCoCo para enviar el reporte a sonar dentro del pom:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
... | |
<build> | |
<plugins> | |
<plugin> | |
<groupId>org.jacoco</groupId> | |
<artifactId>jacoco-maven-plugin</artifactId> | |
<version>0.7.6.201602180812</version> | |
<executions> | |
<execution> | |
<id>agent</id> | |
<goals> | |
<goal>prepare-agent</goal> | |
</goals> | |
<configuration> | |
<append>true</append> | |
<destFile>${sonar.jacoco.reportPath}</destFile> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> | |
</plugins> | |
</build> | |
... |
3. Ejecutar con maven las siguientes lineas:
$ mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install sonar:sonar
4. El resultado muesta una metrica de cobertura que puede ser estudia y revisada:
Si bien sonar puede ser un dolor de cabeza para algunas programadores, despues de uso comienzas a ver su utilidad y efectividad por el valor de que mejora tus habilidades en desarrollo, si bien su ejecución a mi parecer debe ser diaria o periodicamente semanal (esto se puede hacer facilmente con una tarea programada dentro de Jenkins).
Best regards,
No comments:
Post a Comment