Code Coverage
Kod qamrovi (coverage)
"Kod qamrovi" (code coverage) — testlaringiz kodning necha foizini haqiqatan "bosib o'tganini" ko'rsatadigan o'lchov. 100% qamrov "kod xatosiz" degani emas, lekin past qamrov — "ko'p joy umuman tekshirilmagan" degani.
$ go test -cover ./...
ok example.com/mymodule 0.003s coverage: 82.4% of statements
$ go test -coverprofile=coverage.out
$ go tool cover -html=coverage.outgo test -cover buyrug'i har bir paket uchun foiz ko'rsatadi. -coverprofile bilan batafsil hisobot faylga yoziladi, so'ng go tool cover -html uni brauzerda ochib, aynan qaysi qatorlar test qilingani (yashil) va qaysilari qilinmagani (qizil) ko'rsatiladi — bu qamrovni oshirish kerak bo'lgan joylarni tez topish imkonini beradi.
Muhim ogohlantirish: qamrov — bu miqdor, sifat emas. 100% qamrovga ega, lekin hech qanday chegara holatini (bo'sh ro'yxat, manfiy son, nil qiymat) tekshirmaydigan testlar ham bo'lishi mumkin. Shuning uchun qamrov foizini "maqsad" emas, balki "tekshirilmagan joylarni topish quroli" sifatida ko'ring — u sizga qayerga qarash kerakligini ko'rsatadi, lekin nima yozishni aytmaydi.
Key Takeaway
Key Takeaway:
go test -cover kodning qancha qismi test qilinganini ko'rsatadi — foydali kompas, lekin yuqori foiz o'z-o'zidan sifatli testlarni kafolatlamaydi.
NEXT UP
Testing Best Practices