GNU/Linux >> LINUX-Kenntnisse >  >> Linux

lcov:Befehl nicht gefunden

Die traditionelle Linux- und Unix-Methode zum Ermitteln der Codeabdeckung besteht darin, gcov zum Generieren der Abdeckungskarte und lcov zum Verschönern der Ausgabe zu verwenden. Die Codeabdeckung misst, ob und wenn ja, wie oft eine Codezeile ausgeführt wird. Dies ist nützlich, um die Wirksamkeit Ihres Testcodes zu messen. Theoretisch sind Ihre Tests umso vollständiger, je mehr Zeilen „abgedeckt“ sind. Die Verbindung zwischen Codeabdeckung und Vollständigkeit der Tests kann jedoch schwach sein.

Codeabdeckungsdaten

Daten zur Codeabdeckung bestehen normalerweise aus zwei Teilen, der Zeilenabdeckung und der Funktionsabdeckung, die beide am einfachsten als Prozentsätze ausgedrückt werden können. Diese Zahlen sind für einzelne Unit-Tests leicht verständlich. Beim Testen einer einzelnen Funktion oder einer Methode innerhalb eines Objekts dient die Gesamtzahl der Funktionen und Zeilen in der geladenen Datei als Nenner für die Prozentberechnung. Wenn Sie also Ihre Tests für ein einzelnes Modul auf mehrere Dateien verteilen, ist die Abdeckung der Einheitentests für jeden einzelnen Test gering. Die Aggregation aller Abdeckungszahlen aus jedem einzelnen Test ergibt das vollständige Abdeckungsbild für diese Datei.

Wenn Sie auf einen Fehler wie unten gezeigt stoßen:

lcov: command not found

Sie können versuchen, das folgende Paket gemäß Ihrer Wahl der Distribution zu installieren.

Verteilung Befehl
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

Abschließende Gedanken

Das Generieren und Anzeigen von Informationen zur Codeabdeckung ist für Unit-Tests von entscheidender Bedeutung und für aggregierte Integrationstests wichtig. Während Code-Coverage-Zahlen nicht die ganze Geschichte erzählen, bieten Code-Coverage-Informationen eine nette einzelne Zahl, die Sie verwenden können, um den Fortschritt Ihrer Tests zu verfolgen.


Linux
  1. ifrename:Befehl nicht gefunden

  2. netstat:Befehl nicht gefunden

  3. kubectl:Befehl nicht gefunden

  4. tvservice:Befehl nicht gefunden

  5. lspci:Befehl nicht gefunden

aws-shell:Befehl nicht gefunden

w:Befehl nicht gefunden

df:Befehl nicht gefunden

du:Befehl nicht gefunden

rm:Befehl nicht gefunden

mv:Befehl nicht gefunden