Kodedekning og statisk analyse
Integrer verktøy for kodedekning som JaCoCo og verktøy for statisk analyse som Checkstyle/PMD i Gradle-bygget Deres.
Kodedekning og statisk analyse er en gratis leksjon i Groovy og Gradle: JVM-automatisering og byggeutvikling på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Groovy og Gradle: JVM-automatisering og byggeutvikling, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Groovy og Gradle: JVM-automatisering og byggeutvikling inneholder totalt 4 leksjoner.
Velkommen til kodekvalitet
Det er avgjørende å sikre kode av høy kvalitet for å lage pålitelig programvare. I denne leksjonen skal vi utforske to viktige praksiser:
- Kodedekning: Hvor stor del av koden blir testet?
- Statisk analyse: Følger koden beste praksis og stilretningslinjer?
Disse verktøyene hjelper Dem med å skrive bedre og mer vedlikeholdbar kode ved å identifisere problemer tidlig.
Forstå kodedekning
Kodedekning måler prosentandelen av kildekoden som kjøres av testene. Det er et mål på hvor grundig testene utøver programmets logikk.
Høy dekning garanterer ikke feilfri kode, men den viser at De har et godt grunnlag for testingen, og hjelper med å finne områder som ikke er testet.
Møt JaCoCo for dekning
JaCoCo (Java Code Coverage) er et populært og kostnadsfritt verktøybibliotek for kodedekning i Java-prosjekter, og fungerer sømløst med Groovy. Det integreres svært godt med byggeverktøy som Gradle.
JaCoCo genererer detaljerte rapporter som viser hvilke deler av koden som er dekket av tester, og hvilke som ikke er det. Dette hjelper deg med å finne mangler.
JaCoCo-plugin og grunnleggende konfigurasjon
For å integrere JaCoCo bruker du pluginen i build.gradle. Dette legger automatisk til oppgaver og lar deg konfigurere rapportgenerering, med formater som HTML og XML.
Vi inkluderer også et grunnleggende Java/JUnit-oppsett som bakgrunn.
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
}
}Kjøre JaCoCo-oppgaver
Når build.gradle er konfigurert, kan du kjøre oppgaven som genererer JaCoCo-testrapporten fra terminalen. Denne kommandoen kjører testene og genererer deretter dekningsrapporten.
Den interaktive HTML-rapporten finnes i build/reports/jacoco/test/html/index.html.
// In your terminal:
// gradlew clean test jacocoTestReportForstå statisk analyse
Statisk analyse er undersøkelse av koden uten at den faktisk kjøres. Det kan sammenlignes med en linter eller stavekontroll for koden, som identifiserer mulige problemer før kjøring.
Det hjelper med å identifisere problemer som:
- Brudd på kodestandarder
- Mulige feil (for eksempel dereferering av null-pekere)
- Sikkerhetssårbarheter
Møt Checkstyle for kodestil
Checkstyle er et utviklingsverktøy som hjelper programmerere med å skrive Java-kode (og ofte Groovy-kode) i samsvar med en kodestandard. Det automatiserer kontrollen av koden mot et forhåndsdefinert sett med regler.
Ved å oppdage brudd på kodestil og vanlige feil tidlig forbedrer det konsistensen og lesbarheten i koden.
Checkstyle-plugin og grunnleggende konfigurasjon
For å integrere Checkstyle bruker du pluginen i build.gradle. Vanligvis angir du en regelsettfil, som ofte ligger i prosjektets config/checkstyle-katalog, eller bruker en standardinnstilling.
Denne konfigurasjonen sørger også for at rapporter genereres i nyttige formater som HTML og 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
}
}Kjøre Checkstyle-oppgaver
Etter konfigurasjonen kan du kjøre Checkstyle fra terminalen. Verktøyet analyserer kildekoden og genererer rapporter uten å kompilere eller kjøre tester.
Du finner HTML-rapporten i build/reports/checkstyle/main.html for hovedkildekoden.
// In your terminal:
// gradlew checkstyleMainKort kontroll av kvalitetsverktøy
Du har lært om to kraftige verktøy for kodekvalitet. La oss teste forståelsen din.
Oppsummering: kvalitetssikring
I denne leksjonen lærte du hvordan du integrerer viktige kvalitetssikringsverktøy i Gradle-bygget ditt:
- JaCoCo: For å måle kod_edekning og vise hvor mye av koden som utøves av tester.
- Checkstyle: For statisk analyse, håndheving av kodestandarder og identifisering av mulige problemer uten å kjøre koden.
Disse verktøyene er avgjørende for å opprettholde programvare som har høy kvalitet, er lesbar og enkel å vedlikeholde.
Lær deg Groovy med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Kodedekning og statisk analyse» gratis?
Ja – hele teksten i «Kodedekning og statisk analyse» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Groovy og Gradle: JVM-automatisering og byggeutvikling-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Groovy og Gradle: JVM-automatisering og byggeutvikling inneholder totalt 4 leksjoner.
Hva lærer jeg i «Kodedekning og statisk analyse»?
Integrer verktøy for kodedekning som JaCoCo og verktøy for statisk analyse som Checkstyle/PMD i Gradle-bygget Deres. Du øver på Groovy og Gradle: JVM-automatisering og byggeutvikling med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Groovy og Gradle: JVM-automatisering og byggeutvikling?
Ingen tidligere erfaring er nødvendig. Groovy og Gradle: JVM-automatisering og byggeutvikling på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Kodedekning og statisk analyse»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Groovy og Gradle: JVM-automatisering og byggeutvikling-leksjonen?
Ja. Alle Groovy og Gradle: JVM-automatisering og byggeutvikling-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Enhets- og integrasjonstesting
- Testrapporter og filtrering
- Kodedekning og statisk analyse
- Test-fixtures og delt testkode