Kodedækning og statisk analyse
Integrér værktøjer til kodedækning som JaCoCo og værktøjer til statisk analyse som Checkstyle/PMD i Deres Gradle-build.
Kodedækning og statisk analyse er en gratis Groovy og Gradle: JVM-automatisering og buildudvikling-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Groovy og Gradle: JVM-automatisering og buildudvikling, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Groovy og Gradle: JVM-automatisering og buildudvikling-kurset indeholder 4 lektioner i alt.
Velkommen til kodekvalitet
Det er afgørende at sikre kode af høj kvalitet for at skabe pålidelig software. I denne lektion undersøger vi to vigtige praksisser:
- Kodedækning: Hvor stor en del af din kode bliver testet?
- Statisk analyse: Følger din kode bedste praksis og retningslinjer for kodestil?
Disse værktøjer hjælper dig med at skrive bedre kode, der er lettere at vedligeholde, ved at identificere problemer tidligt.
Forstå kodedækning
Kodedækning måler procentdelen af din kildekode, der udføres af dine test. Det er en måleenhed, der fortæller dig, hvor grundigt dine test gennemgår applikationens logik.
Selvom høj dækning ikke garanterer fejlfri kode, er det tegn på et godt testgrundlag og hjælper med at finde områder, der ikke er blevet testet.
Mød JaCoCo til dækningsgrad
JaCoCo (Java Code Coverage) er et populært og gratis bibliotek til måling af kodedækning i Java-projekter, som fungerer problemfrit sammen med Groovy. Det integreres særdeles godt med byggeværktøjer som Gradle.
JaCoCo genererer detaljerede rapporter, der viser, hvilke dele af din kode der er dækket af test, og hvilke der ikke er, så du kan identificere mangler.
JaCoCo-plugin og grundlæggende konfiguration
For at integrere JaCoCo skal du anvende dets plugin i din build.gradle. Det tilføjer automatisk opgaver og giver dig mulighed for at konfigurere rapportgenerering, herunder formater som HTML og XML.
Vi inkluderer også en grundlæggende Java/JUnit-opsætning som kontekst.
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
}
}Kørsel af JaCoCo-opgaver
Når build.gradle er konfigureret, kan du køre JaCoCo-opgaven til testrapporten fra din terminal. Denne kommando kører dine test og genererer derefter dækningsrapporten.
Den interaktive HTML-rapport findes i build/reports/jacoco/test/html/index.html.
// In your terminal:
// gradlew clean test jacocoTestReportForstå statisk analyse
Statisk analyse er undersøgelse af din kode uden faktisk at køre den. Det minder om en linter eller stavekontrol for din kode, som identificerer potentielle problemer før kørsel.
Det hjælper med at identificere problemer som:
- Overtrædelser af kodningsstandarder
- Potentielle fejl (f.eks. dereferering af null-pekere)
- Sikkerhedssårbarheder
Mød Checkstyle til kodestil
Checkstyle er et udviklingsværktøj, der hjælper programmører med at skrive Java-kode (og ofte Groovy-kode), som følger en kodningsstandard. Det automatiserer kontrollen af kode i forhold til et foruddefineret sæt regler.
Ved tidligt at opdage overtrædelser af stilregler og almindelige fejl forbedrer det kodens ensartethed og læsbarhed.
Checkstyle-plugin og grundlæggende konfiguration
For at integrere Checkstyle skal du anvende dets plugin i din build.gradle. Du angiver typisk en regeldefinitionsfil, som ofte ligger i projektets config/checkstyle-mappe, eller bruger standardindstillingerne.
Denne konfiguration sikrer også, at der genereres rapporter 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
}
}Kørsel af Checkstyle-opgaver
Efter konfigurationen kan du køre Checkstyle fra din terminal. Det analyserer din kildekode og genererer rapporter uden at kompilere eller køre test.
Du finder HTML-rapporten i build/reports/checkstyle/main.html for din primære kildekode.
// In your terminal:
// gradlew checkstyleMainHurtig kontrol af kvalitetsværktøjer
Du har lært om to kraftfulde værktøjer til kodekvalitet. Lad os teste din forståelse.
Opsummering: kvalitetssikring
I denne lektion lærte du, hvordan du integrerer vigtige kvalitetssikringsværktøjer i dit Gradle-build:
- JaCoCo: Til måling af kodedækning, så du kan se, hvor stor en del af din kode der bliver gennemløbet af test.
- Checkstyle: Til statisk analyse, håndhævelse af kodningsstandarder og identifikation af potentielle problemer uden at køre koden.
Disse værktøjer er afgørende for at vedligeholde software, der har høj kvalitet, er læsbar og nem at vedligeholde.
Lær Groovy med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Kodedækning og statisk analyse” gratis?
Ja — hele teksten til “Kodedækning og statisk analyse” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Groovy og Gradle: JVM-automatisering og buildudvikling-kurset, skal du opgradere til CoddyKit PRO. Groovy og Gradle: JVM-automatisering og buildudvikling-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Kodedækning og statisk analyse”?
Integrér værktøjer til kodedækning som JaCoCo og værktøjer til statisk analyse som Checkstyle/PMD i Deres Gradle-build. Du øver dig i Groovy og Gradle: JVM-automatisering og buildudvikling med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Groovy og Gradle: JVM-automatisering og buildudvikling?
Der kræves ingen tidligere erfaring. Groovy og Gradle: JVM-automatisering og buildudvikling på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Kodedækning og statisk analyse”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Groovy og Gradle: JVM-automatisering og buildudvikling-lektion?
Ja. Alle Groovy og Gradle: JVM-automatisering og buildudvikling-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Unit- og integrationstest
- Testrapporter og filtrering
- Kodedækning og statisk analyse
- Test fixtures og delt testkode