Code coverage en statische analyse
Integreer codecoveragetools zoals JaCoCo en tools voor statische analyse zoals Checkstyle/PMD in uw Gradle-build.
Code coverage en statische analyse is een gratis Groovy en Gradle: JVM-automatisering en buildbeheer-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Groovy en Gradle: JVM-automatisering en buildbeheer. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Groovy en Gradle: JVM-automatisering en buildbeheer bevat in totaal 4 lessen.
Welkom bij codekwaliteit
Code van hoge kwaliteit is essentieel voor betrouwbare software. In deze les bekijken we twee belangrijke praktijken:
- Coderegeldekking: Hoeveel van je code wordt getest?
- Statische analyse: Volgt je code de aanbevolen werkwijzen en stijlrichtlijnen?
Deze hulpmiddelen helpen je betere, beter onderhoudbare code te schrijven door problemen vroeg te signaleren.
Coderegeldekking begrijpen
Coderegeldekking meet het percentage van je broncode dat door je tests wordt uitgevoerd. Het is een metriek die aangeeft hoe grondig je tests de logica van je applicatie uitvoeren.
Een hoge dekking garandeert geen bugvrije code, maar wijst wel op een goede basis voor het testen en helpt bij het opsporen van niet-geteste delen.
Maak kennis met JaCoCo voor codedekking
JaCoCo (Java Code Coverage) is een populaire en gratis bibliotheek voor codedekking voor Java-projecten, die naadloos met Groovy werkt. De bibliotheek integreert uitstekend met buildtools zoals Gradle.
JaCoCo genereert gedetailleerde rapporten die laten zien welke delen van je code door tests worden gedekt en welke niet. Zo kun je hiaten opsporen.
JaCoCo-plugin en basisconfiguratie
Om JaCoCo te integreren, pas je de plugin toe in je build.gradle. Hierdoor worden automatisch taken toegevoegd en kun je het genereren van rapporten configureren, met indelingen zoals HTML en XML.
We nemen ook een eenvoudige Java/JUnit-configuratie op voor de context.
plugins {
id 'java'
id 'jacoco'
}
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.0'
}
test {
useJUnitPlatform()
}
jacoco {
toolVersion = "0.8.11" // Use a recent version
}
jacocoTestReport {
reports {
xml.required = true
html.required = true
csv.required = false // Optional: disable CSV
}
}JaCoCo-taken uitvoeren
Nadat je build.gradle hebt geconfigureerd, kun je de taak voor het JaCoCo-testrapport uitvoeren vanuit je terminal. Met deze opdracht worden je tests uitgevoerd en daarna het codedekkingsrapport gegenereerd.
Je vindt het interactieve HTML-rapport in build/reports/jacoco/test/html/index.html.
// In your terminal:
// gradlew clean test jacocoTestReportStatische analyse begrijpen
Statische analyse is het onderzoeken van je code zonder deze daadwerkelijk uit te voeren. Het is te vergelijken met een linter of spellingcontrole voor je code: mogelijke problemen worden vóór runtime opgespoord.
Hiermee kun je problemen opsporen zoals:
- Overtredingen van codeerstijlen
- Mogelijke bugs (bijvoorbeeld dereferenties van null-aanwijzers)
- Beveiligingskwetsbaarheden
Maak kennis met Checkstyle voor stijlcontrole
Checkstyle is een ontwikkeltool die programmeurs helpt Java-code (en vaak ook Groovy-code) te schrijven die aan een codeerstijl voldoet. De tool automatiseert het controleren van code aan de hand van een vooraf bepaalde verzameling regels.
Door stijlproblemen en veelvoorkomende fouten vroegtijdig op te sporen, verbetert de tool de consistentie en leesbaarheid van je code.
Checkstyle-plugin en basisconfiguratie
Om Checkstyle te integreren, pas je de plugin toe in je build.gradle. Meestal verwijs je naar een bestand met regels, dat zich vaak in de map config/checkstyle van je project bevindt, of gebruik je de standaardinstellingen.
Met deze configuratie zorg je er ook voor dat rapporten worden gegenereerd in bruikbare indelingen zoals HTML en XML.
// build.gradle
plugins {
id 'java'
id 'jacoco'
id 'checkstyle' // Add this line
}
// ... other existing configurations like repositories, dependencies, test block ...
checkstyle {
toolVersion = "10.12.7" // Use a recent version
// Point to your custom ruleset file (e.g., a Google style guide)
configFile = file("${project.rootDir}/config/checkstyle/checkstyle.xml")
}
tasks.withType(Checkstyle) {
reports {
xml.required = true
html.required = true
}
}Checkstyle-taken uitvoeren
Na de configuratie kun je Checkstyle vanuit je terminal uitvoeren. De tool analyseert je broncode en genereert rapporten zonder code te compileren of tests uit te voeren.
Je vindt het HTML-rapport voor je belangrijkste broncode in build/reports/checkstyle/main.html.
// In your terminal:
// gradlew checkstyleMainSnelle controle van kwaliteitsgereedschappen
Je hebt geleerd over twee krachtige hulpmiddelen voor codekwaliteit. Test nu je begrip.
Samenvatting: kwaliteitsbewaking
In deze les heb je geleerd hoe je essentiële hulpmiddelen voor kwaliteitsbewaking in je Gradle-build integreert:
- JaCoCo: voor het meten van codedekking, waarbij wordt getoond welk deel van je code door tests wordt uitgevoerd.
- Checkstyle: voor statische analyse, waarbij coderingsstandaarden worden afgedwongen en mogelijke problemen worden opgespoord zonder de code uit te voeren.
Deze hulpmiddelen zijn onmisbaar voor het onderhouden van kwalitatief hoogwaardige, leesbare en onderhoudbare software.
Leer Groovy met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Code coverage en statische analyse” gratis?
Ja — de volledige tekst van “Code coverage en statische analyse” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Groovy en Gradle: JVM-automatisering en buildbeheer wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Groovy en Gradle: JVM-automatisering en buildbeheer bevat in totaal 4 lessen.
Wat leer ik in “Code coverage en statische analyse”?
Integreer codecoveragetools zoals JaCoCo en tools voor statische analyse zoals Checkstyle/PMD in uw Gradle-build. Je oefent met Groovy en Gradle: JVM-automatisering en buildbeheer door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Groovy en Gradle: JVM-automatisering en buildbeheer te beginnen?
Ervaring vooraf is niet nodig. Groovy en Gradle: JVM-automatisering en buildbeheer op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Code coverage en statische analyse”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Groovy en Gradle: JVM-automatisering en buildbeheer?
Ja. Elke les over Groovy en Gradle: JVM-automatisering en buildbeheer bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Unit- en integratietests
- Testrapporten en filtering
- Code coverage en statische analyse
- Testfixtures en gedeelde testcode