¿Cómo generar un informe de cobertura de código con JaCoCo en la aplicación Java?

La prueba es una parte muy importante del ciclo de vida del desarrollo de software. Sin pruebas, el software no está listo para su implementación. Para probar las aplicaciones Java, usamos principalmente Junit. El marco JUnit es un marco de Java que se utiliza para realizar pruebas. Y ahora, JUnit se usa como estándar cuando es necesario realizar pruebas en Java. Pero, ¿qué es Code Coverage y qué es JaCoCo? Code Coverage es una métrica de software que se utiliza para medir cuántas líneas de nuestro código se ejecutan durante las pruebas automatizadas. En otras palabras, también podemos decir que Code Coverage describe el porcentaje de código cubierto por las pruebas automatizadas y verifica qué partes del código se ejecutan durante el conjunto de pruebas y cuáles no. 

JaCoCo significa Java Co de Cobertura ._ Es una biblioteca de cobertura de código libre para Java, que ha sido creada por el equipo de EclEmma. Crea informes de cobertura de código y se integra bien con IDE como IntelliJ IDEA, Eclipse IDE, etc. JaCoCo también se integra con herramientas de CI/CD como Jenkins, Circle CI, etc. y herramientas de gestión de proyectos como SonarQube, etc. Entonces, en este artículo, vamos a crear una aplicación Java de muestra y generar el informe de cobertura de código con la ayuda del complemento maven de JaCoCo. 

Procedimiento:

  1. Crear una aplicación Java sencilla
  2. Anote algunos casos de prueba dentro de la aplicación
  3. Agregue el complemento experto de JaCoCo
  4. Actualice el código después de agregar el complemento JaCoCo
  5. Después de agregar la dependencia, haga clic en la opción Maven
  6. Seleccione limpiar y probar
  7. Seleccione el botón ejecutar (triángulo de color verde)
  8. Navegue por la cobertura del código.

Implementación paso a paso

Paso 1: cree una aplicación Java simple y escriba algunos casos de prueba dentro de la aplicación usando Junit o también puede usar Mockito. 

Artículo relacionado: puede consultar este artículo ¿Cómo escribir casos de prueba en una aplicación Java usando Mockito y Junit? y crear un proyecto de muestra. 

Paso 2: agregue el complemento maven de JaCoCo a su archivo pom.xml

Los complementos para JaCoCo que se dan a continuación son los siguientes: 

XML

<build>
        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.5</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <!-- attached to Maven test phase -->
                    <execution>
                        <id>report</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
</build>

A continuación se muestra el código actualizado para el archivo pom.xml después de agregar el complemento JaCoCo.

XML

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>org.example</groupId>
    <artifactId>mockito-demo</artifactId>
    <version>1.0-SNAPSHOT</version>
 
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.8.2</version>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <version>2.0.2-beta</version>
        </dependency>
    </dependencies>
 
    <build>
        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.5</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <!-- attached to Maven test phase -->
                    <execution>
                        <id>report</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
 
    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
 
</project>

Paso 3: después de agregar la dependencia, haga clic en la opción Maven que se encuentra en la parte superior derecha, como se muestra en la imagen a continuación. Luego seleccione limpiar y probar y luego seleccione el botón ejecutar (triángulo de color verde). 

Ahora puede ver el resultado de su prueba como se muestra en la imagen a continuación. Y se ha generado su informe de cobertura de código. ¿Pero donde? Consulte el paso 4. 

Paso 4: para obtener su informe de cobertura de código, vaya al destino > sitio > jacoco > index.html > haga clic con el botón derecho en > Abrir en > Navegador > Y su navegador preferido. Entonces, básicamente , index.html es su archivo de informe de cobertura de código. 

Entonces puede ver que su informe se mostrará así y el porcentaje depende completamente de cómo haya escrito los casos de prueba. 

Nota: El color verde muestra que se han cubierto todas las líneas de código, lo que significa que ha escrito los casos de prueba para todas las unidades. Si ha encontrado la línea de color amarillo, el código parcial se ha cubierto y si se ha encontrado con el color rojo, el código no se ha cubierto. 

Publicación traducida automáticamente

Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *