Coverage
- Node.js kursu
- İleri seviye
- Ders 76/83
- 5 dk
Test coverage ölçümünü öğrenirsin.
Coverage (kapsam)
Coverage, kodunun yüzde kaçının test edildiğini gösterir. Yüksek coverage, testlerin kodun büyük kısmını sınadığı anlamına gelir. Jest, built-in coverage aracı sunar: jest --coverage.
Örnek: jest --coverage çalıştırınca her dosya için kaç satırın, kaç fonksiyonun ve kaç dalın sınandığını gösterir. Coverage raporu, test edilmemiş kod parçalarını vurgular. Yüksek coverage iyi bir başlangıçtır; ama coverage kalıteyi garanti etmez. Önemli olan, kritik yolların sınanmasıdır. Coverage düşükse, genellikle önemli dallar test edilmemiştir. Test ekleyip coverage'ı artırmak, kod güvenilirliğini yükseltir. Üretim sistemlerinde %80+ coverage hedeflenir.
Coverage türleri
Coverage üç ana türe ayrılır: satır (lines), fonksiyon (functions) ve dal (branches). Satır coverage'ı kodun kaç satırının çalıştığını, fonksiyon coverage'ı kaç fonksiyonun çağrıldığını, dal coverage'ı if-else dallarının kaç yönünün sınandığını gösterir.
Örnek: bir if (x > 0) dalı için hem x > 0 hem x <= 0 durumları sınanmalıdır. Yalnızca biri sınanırsa satır coverage %100 olabilir ama dal coverage %50'dir. Dal coverage en zor ve en değerli olanıdır; kritik yolların sınandığını garanti eder. Coverage raporu, hangi satır ve dalların sınanmadığını gösterir. Bu, nereye test eklenmesi gerektiğini belirtir.
Uygulama Coverage hesapla
Bir calcCoverage(total, tested) fonksiyonu tanımla. return (tested / total) * 100 ile yüzde döndür. console.log ile calcCoverage(100, 80)'i yazdır.
Başlangıç kodu
// calcCoverage fonksiyonunu tanımla
// buraya yaz
// sonucu yazdır
// buraya yazÖrnek çözüm
function calcCoverage(total, tested) {
return (tested / total) * 100;
}
console.log(calcCoverage(100, 80));Beklenen çıktı
80
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Coverage neyi ölçer?
jest --coverage- Bellek kullanımını
- Disk doluluk oranını
- Kodun yüzde kaçının test edildiğini Doğru cevap
- Uygulamanın hızını
Açıklama: Coverage test kapsamını ölçer.
2 coverage komutunu tamamla
jest --____
jest --coverage
Açıklama: jest --coverage coverage raporu üretir.
3 Türü anlamına eşle
| Kavram | Anlamı |
|---|---|
satır (lines) |
Çalışan satırlar |
fonksiyon (functions) |
Çağrılan fonksiyonlar |
dal (branches) |
Sınanan if-else yönleri |
--coverage |
Jest bayrağı |