Go teszt-lefedettség vizsgálat
Címkék: go lefedettség coverage Visual Studio Code golang VSCode teszt-lefedettség test coverage
2023.01.12. 13:50
A Go-ban elmélyedve persze keresem a TDD lehetőségeket.
A Go rendelkezik beépített unit teszt lehetőséggel. A JAVA-ban megszokott JUnit csomaghoz képest nehézkesnek érzem. Persze a JUnit plugin. A Go esetén is megtaláltam a Testify csomagot. Amelytől kezd a dolog hasonlítani a megszokotthoz. A Testify-ről még nem tudok eleget. Gondolom egy későbbi posztban előkerül.
Amit már kitapasztaltam, hogy az alap teszt készlet már tartalmazza a teszt-lefedettség vizsgálatot.
A `go test -cover` parancsot kiadva a tesztek végrehajtásán túl a teszt-lefedettség százaléka is megjelenítésre kerül.
Részletes információ két lépésben állítható elő. Először a
`go test -v -coverprofile cover.out ./YOUR_CODE_FOLDER/.` paranccsal egy leíró fájlt kell előállítani.
A `go tool cover -html cover.out -o cover.html` paranccsal a böngészőben jelenik meg a forrás "kiszínezve". Így sor pontossággal látható mire kell még teszt írni.
A Visual Studio Code (VSCode) képes elvégezni a lefedettség vizsgálatot és megjeleníteni eredményét. Bekapcsolni a `Ctrl+Shift+p` kombináció hatására megjelenő választékból a `Go: Toggle Test Coverage in Current Package` lehetőséget kiválasztva lehet.
A kód érintett sorait erőteljesen aláfesti zölddel illetve pirossal. Szerintem rontja a kód olvashatóságát. Úgy tűnik más is így van ezzel mert találtam olyan beállítást amely a sorszámok mellett függőleges, színes sávokat használ a jelöléshez.
A Beállításhoz be kell lépni a paraméter beállításba és beilleszteni a szükséges paramétereket.
`Ctrl+Shift+p` után `Prefferences: Open User Settings (JSON)` kiválasztva jutunk a JSON szintaktikájú paraméter szerkesztőbe. Ide kell a záró kapcsos zárójel elé beilleszteni az alábbit:
"go.coverOnSave": true,
"go.coverageDecorator": {
"type": "gutter",
"coveredHighlightColor": "rgba(64,128,128,0.5)",
"uncoveredHighlightColor": "rgba(128,64,64,0.25)",
"coveredGutterStyle": "blockgreen",
"uncoveredGutterStyle": "blockred"
},
"go.coverOnSingleTest": true
A beillesztés előtt, a zárójelet korábban megelőző, sor végére vessző kerül.
A beállítás leírása
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.