alt om GoLang.

kodedækning er måden at bestemme, hvor meget af koden der faktisk dækkes gennem testene. Denne måling er yderst nyttig til at bestemme, hvilke andre tests der skal skrives. Dette indlæg vil undersøge kodedækning i GoLang.

Indholdsfortegnelse

Hvad er kode dækning?

kodedækning er måden at bestemme testdækningen af en pakke på. Testdækning er en metrisk, der giver en oversigt over, hvor meget af funktionerne der er dækket af test.

reglerne, der skal følges

for at udføre testdækning I Go opretter vi en testfil ved at tilføje et _test-suffiks.

filename_test.go

så bruger vi simpelthen testfunktioner i den fil. For at generere dækningsrapporten tilføjes-cover-flaget efter det.

go test -cover

dette dækflag fortæller testværktøjet at generere dækningsrapporter for den pakke, vi tester.

dækning enkle eksempler

her vil vi se nogle enkle dækningsrapporter genereret af dækningsværktøjet. Først bruger vi en simpel fil, der indeholder en enkelt funktion og tester den i testfunktionen. Da vi har testet det, vil dækningsrapporten sige, at dækningen er 100%. Det betyder, at alle funktioner dækkes gennem test.

hovedfilen indeholder:

package mainfunc f() int {return 2}//func g() int {//return 4//}func main() {}

testfilen er som følger:

package mainimport "testing"func TestF(t *testing.T) {v := f()if v != 4 {t.Error("Fails")}}

filen indeholder en simpel test for funktionen. Når vi kører dækningskommandoen, får vi et output som dette:

Go Test dækning

som det kan ses, er testdækningen 100%. Lad os nu fjerne den anden funktion og se dækningsrapporten. Vi vil se noget som dette:

Go Test dækning procent

testdækningen faldt til 50%. Det var forventet, da der er to funktioner, men kun en blev dækket gennem testen. Dette er, hvad test dækning gør, det beregner den procentvise test udført på det samlede antal funktioner og producerer output i overensstemmelse hermed.

Go-kodedækning HTML-rapport

vi kan få dækningsrapporten på en grafisk måde via HTML. Først skal vi indstille dækprofilen. For at gøre det skal du bruge kommandoen som vist nedenfor:

go test -coverprofile=coverage.out // coverage.out is the output filename

nu kan vi bruge følgende kommando til at generere en grafisk dækningsrapport.

go tool cover -html=coverage.out

dækningsgrafikken vil se sådan ud:

dækning grafik

som det kan ses, den grafiske måde at se dækningen er en temmelig praktisk funktion Go giver.

kodedækning betydning

efter enhedstestningen er konfigureret kodedækning er et vigtigt aspekt, der skal fokuseres. Det vil gøre enhedstestene bedre og vil fungere som et supplement til testene.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.