Exemple Maven de couverture de code Java avec JaCoCo

Couverture de code Java JaCoCo + exemple Maven

Jacoco est utilisé pour mesurer la couverture de code de l'application. Dans ce tutoriel, nous allons comprendre comment configurer Jacoco dans maven et comment utiliser Jacoco pour voir le rapport de couverture du code.

Technologies utilisées:

  • Éclipse de Mars

  • Maven 3.3.9

  • Java 8

1. Eclipse Créer un projet Java Maven

1.1 In Eclipse create a Maven project File->New->Project->Maven Project, Select create a simple project and click on next

image

1.2 Enter groupId & artifactId as shown in below screen and click on finish.

image

2. Structure du projet

Le projet comprend les éléments suivants

  • Exemple de classe d'opérations arithmétiques

  • Exemple de classe de test JUnit d'opérations arithmétiques

  • pom.xml avec les dépendances Junit et Jacoco

image

3. pom.xml

Configurez Junit et Jacoco comme indiqué danspom.xml

pom.xml


    4.0.0
    com.techfou
    MathOperations
    0.0.1-SNAPSHOT
    Mathematical Operations

    
        0.7.5.201505241946
        4.12
    

    
        
            junit
            junit
            ${junit.version}
            test
        
    
    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.6.1
                
                    true
                    true
                    1.8
                    1.8
                
            
            
                org.jacoco
                jacoco-maven-plugin
                ${jacoco.version}
                
                    
                        prepare-agent
                        
                            prepare-agent
                        
                    
                    
                        report
                        prepare-package
                        
                            report
                        
                    
                    
                        post-unit-test
                        test
                        
                            report
                        
                        
                            

                            target/jacoco.exec
                            
                            target/jacoco-ut
                        
                    
                
                
                    
                        target/jacoco.exec
                    
                
            
        
    

4. Exemple de classe d'opérations arithmétiques

Dans cette classe, la méthode «add» est créée qui accepte deux paramètres entiers et renvoie la somme.

ArithmeticOperations.java

package math.operation;

public class ArithmeticOperations {

    public Integer add(Integer a, Integer b)
    {
        return a+b;
    }

}

5. Exemple de classe de test Junit d'opérations arithmétiques

Testcase est créé pour la méthode «add».

ArithmeticOperationsTest.java

package math.operation;

import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class ArithmeticOperationsTest {

    @Test
    public void testAdd()
    {
        ArithmeticOperations operations = new ArithmeticOperations();
        Integer actual = operations.add(2, 6);
        Integer expected = 8;
        assertEquals(expected, actual);
    }

}

6. Exécuter l'application

Cliquez avec le bouton droit de la souris sur Projet → Exécuter en tant que → Test Maven. Le rapport de sortie Jacoco sera généré dans le répertoire cible sous le dossier jacoco-ut

image

7. Sortie

7.1 To see the output go to target directory and open index.html from jacoco-ut folder in browser. Le rapport global pour la classeArithmeticOperations est présenté ci-dessous

image

7.2 Clicking on each method in above figure gives detailed report. Ici, il montre une ligne de couleur verte indiquant quelle ligne est couverte par le test unitaire.

image

Terminé.

Télécharger le code source

Télécharger -jacoco-maven-example.zip (2 KB)