Groovy og Gradle: JVM-automatisering og byggeutvikling · leksjon

Kodedekning og statisk analyse

Integrer verktøy for kodedekning som JaCoCo og verktøy for statisk analyse som Checkstyle/PMD i Gradle-bygget Deres.

Leksjon 3 av 411 trinn

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 jacocoTestReport

Forstå 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 checkstyleMain

Kort 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.

Gratis å komme i gang

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

  1. Enhets- og integrasjonstesting
  2. Testrapporter og filtrering
  3. Kodedekning og statisk analyse
  4. Test-fixtures og delt testkode
← Tilbake til Groovy og Gradle: JVM-automatisering og byggeutvikling