Tradiční způsob, jak najít pokrytí kódu v Linuxu a Unixu, je použít gcov ke generování mapy pokrytí a lcov, aby byl výstup pěkný. Pokrytí kódu měří, zda a pokud ano, kolikrát je spuštěn řádek kódu. To je užitečné pro měření účinnosti vašeho testovacího kódu. Teoreticky, čím více řádků je „pokryto“, tím úplnější jsou vaše testy. Spojení mezi pokrytím kódu a úplností testu však může být slabé.
Údaje o pokrytí kódu
Údaje o pokrytí kódem se obvykle dodávají ve dvou částech, pokrytí linky a pokrytí funkcí, přičemž obě lze nejsnáze vyjádřit jako procenta. Tato čísla jsou snadno pochopitelná pro jednotlivé testy jednotek. Při testování jednotlivé funkce nebo metody v rámci objektu slouží jako jmenovatel pro výpočet procent celkový počet funkcí a řádků v načteném souboru. Pokud tedy rozložíte testování do více souborů pro jeden modul, pokrytí testem jednotek bude pro každý jednotlivý test nízké. Agregace všech čísel pokrytí z každého jednotlivého testu poskytne úplný obrázek pokrytí pro daný soubor.
Pokud narazíte na níže uvedenou chybu:
lcov: command not found
můžete zkusit nainstalovat níže uvedený balíček podle vaší volby distribuce.
Distribuce | Příkaz |
---|---|
OS X | brew install lcov |
Debian | apt-get install lcov |
Ubuntu | apt-get install lcov |
Kali Linux | apt-get install lcov |
Fedora | dnf install lcov |
Raspbian | apt-get install lcov |
Poslední myšlenky
Generování a zobrazení informací o pokrytí kódu je zásadní pro testování jednotek a důležité pro testování agregované integrace. Zatímco čísla pokrytí kódem neříkají celý příběh, informace o pokrytí kódu poskytují pěkné jediné číslo, které lze použít ke sledování průběhu vašich testů.