2017-12-22 7 views
10

einstellt Ich benutze gradle 4.3.1 mit dem jacoco-plugin und ich bin in der Lage, ein bestimmtes Niveau der Codeabdeckung in einem Multimodulprojekt sicherzustellen. Das funktioniert gut, wenn ich das Element auf CLASS oder PACAKAGE setze, aber ich bin ratlos, wie es funktioniert für das Modul.Wie man jacoco Code-Abdeckung Niveaus zum Modul in Gradle

here Blick denke ich, was ich will, ist BUNDLE oder GROUP, aber dann hat jacoco nicht brechen, wenn ich unter der Deckungssumme gehen. Hier

ist ein Beispiel dafür, was ich habe, dass für Paketebene Abdeckung Durchsetzung funktioniert:

jacocoTestCoverageVerification { 
    violationRules { 
     rule { 
      // should be element = 'BUNDLE' or 'GROUP'? 
      element = 'PACKAGE' 

      limit { 
       minimum = 0.9 
      } 
      includes = ['com.mypackage.*'] 
     } 
    } 
} 

Wenn ich den Elementwert ändern, um die Build BUNDLE nicht unabhängig von Deckung fehlschlagen. Wieder möchte ich die Erwartung auf Modulebene kontrollieren können.

Hier ist meine gradle Versionsinformationen:

------------------------------------------------------------ 
Gradle 4.3.1 
------------------------------------------------------------ 

Build time: 2017-11-08 08:59:45 UTC 
Revision:  e4f4804807ef7c2829da51877861ff06e07e006d 

Groovy:  2.4.12 
Ant:   Apache Ant(TM) version 1.9.6 compiled on June 29 2015 
JVM:   1.8.0_40 (Oracle Corporation 25.40-b25) 
OS:   Windows 8.1 6.3 amd64 

Ich vermute, ich etwas ziemlich einfach fehlt bin, da ich nicht glaube, ich bin der erste, um zu versuchen, dies zu tun. Jede Hilfe wäre willkommen!

Antwort

1

Ich bin nicht sehr sicher, aber könnten Sie versuchen, counter = 'LINE' innerhalb der Grenze hinzuzufügen.

rule { 
     element = 'GROUP' 

     limit { 
      minimum = 0.9 
      counter = 'LINE' 
     } 
... 

aus, dass neben auch versuchen jacocoTestReport zum Erzeugen von Test Bericht hinzufügt Ihr Ergebnis für interne Testzwecke nur zu überprüfen.

jacocoTestReport { 
    reports { 
     xml.enabled false 
     csv.enabled false 
     html.destination file("${buildDir}/jacocoHtml") 
    } 
} 

Quelle: https://docs.gradle.org/current/userguide/jacoco_plugin.html#sec:jacoco_report_configuration

+0

Ja, leider hatte ich das gleiche versucht und es das Ergebnis nicht ändern. Ich habe die HTML-Ausgabe generiert, und ich kann sehen, dass die Gesamtabdeckung für das Modul 85% beträgt. – Tristan

Verwandte Themen