2016-12-22 2 views
1

Nous avons une petite application Java Spring REST multi-module qui est construite avec le plugin maven surefire. Parce que l'application est assez petite, nous avons écrit un mélange de tests unitaires et de tests d'intégration et les exécutons tous comme des tests unitaires, donc nous obtenons un seul ensemble de fichiers jacoco.exec.Jacoco.exec n'affiche pas la couverture de test complète dans SonarQube

Lorsque j'ouvre la couverture de test dans SonarQube, la couverture est uniquement calculée pour le module dans lequel le test a été exécuté. Ainsi, les tests d'intégration que nous avons dans la couche contrôleur REST ne génèrent aucune couverture dans les couches métier ou de données.

J'ai essayé plusieurs configurations de jacoco et j'en ai marre de le regarder. Toute suggestion serait utile.

configuration de jacoco en pom.xml parental:

 <plugin> 
      <groupId>org.jacoco</groupId> 
      <artifactId>jacoco-maven-plugin</artifactId> 
      <version>0.7.7.201606060606</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>prepare-agent</goal> 
        </goals> 
       </execution> 
        <execution> 
          <id>report</id> 
         <phase>prepare-package</phase> 
         <goals> 
          <goal>report</goal> 
         </goals> 
        </execution> 
      </executions> 
     </plugin> 

configuration infaillible en pom.xml parental:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.19.1</version> 
      <configuration> 
       <systemPropertyVariables> 
        <org.jboss.logging.provider>slf4j</org.jboss.logging.provider> 
       </systemPropertyVariables>   
      </configuration> 
     </plugin> 

Répondre

0

la couverture est calculée uniquement pour le module dans lequel le test a été effectué

Voici comment fonctionne l'importation du rapport JaCoCo dans SonarQube.

Si vous souhaitez résoudre ce problème, vous pouvez fusionner les rapports avant de les transmettre à SonarQube.

+0

Merci, je vais donner un coup de feu et marquer comme répondu après les vacances. –