Wie kann ich lcov
und genhtml
Dateien zeigen, die nicht verknüpft/geladen sind? Ich benutze es, um die Testabdeckung anzuzeigen, und ich möchte, dass jede Quelldatei im HTML-Bericht angezeigt wird, auch wenn sie keine Abdeckung hat. Auf diese Weise kann ich mit lcov Quelldateien identifizieren, denen Tests fehlen. Für die fehlenden Quelldateien wurde eine .gcno-Datei erstellt, jedoch keine .gcda-Datei.Kann lcov/genhtml Dateien anzeigen, die nie ausgeführt wurden?
Antwort
Wenn Sie alle Dateien anzeigen möchten, müssen Sie eine Baseline-Coverage-Datendatei mit der Option -i erstellen. Nachdem Sie Ihre Daten erfasst haben, müssen Sie die beiden Dateien mit der Option -a kombinieren.
Es gibt ein Beispiel in lcov Manpage (https://linux.die.net/man/1/lcov):
Capture-Erstnullabgleich Abdeckungsdaten.
Führen Sie lcov mit -c und dieser Option in den Verzeichnissen mit den Dateien .bb, .bbg oder .gcno aus, bevor Sie einen Testfall ausführen. Das Ergebnis ist eine "Baseline" -Deckungsdatendatei, die für jede instrumentierte Linie eine Abdeckung von null enthält. Kombinieren Sie diese Datendatei (mit lcov -a) mit Coverage-Datendateien, die nach einem Testlauf erfasst wurden, um sicherzustellen, dass der Prozentsatz der insgesamt erfassten Zeilen korrekt ist, auch wenn nicht alle Quellcodedateien während des Tests geladen wurden.
Empfohlene Verfahren, wenn Daten für einen Testfall erfassen:
erstellen Baseline Abdeckung Datendatei
lcov -c -i -d appdir -o app_base.info
durchführen Test
appdir/test
Testabdeckung Datendatei erstellen
lcov -c -d appdir -o app_test.info
kombinieren Basislinie und Testabdeckung Daten
lcov -a app_base.info -a app_test.info -o app_total .info
Sie müssen dann für GenHTML die app_total.info als Quelle verwenden.
- 1. PHP (Linux): Liste Dateien, die ausgeführt wurden
- 2. CVS: Dateien anzeigen, die lokal geändert wurden
- 3. Anzeigen aller Systemaufrufe, die von einem Java-Programm ausgeführt wurden
- 4. Firefox nicht ausgeführt JavaScript-Dateien, die dynamisch geladen wurden
- 5. Timed Wähler ausgeführt nie
- 6. Nur rsync-Berichtsdateien anzeigen, die aktualisiert wurden
- 7. Die onCreate() - und onMapReady() -Funktionen der Klasse 0 wurden nie ausgeführt.
- 8. Die Besetzung kann nie
- 9. Wie kann ich Dateien anzeigen, die von einem Benutzer mit PHP hochgeladen wurden?
- 10. Kann TFS Pending Changes Dateien anzeigen, die wirklich wie SourceGear Vault geändert wurden?
- 11. Erzeuge total einzigartige Token, die nie mit php verwendet wurden
- 12. Bilder anzeigen, die von s3 abgerufen wurden
- 13. Java - Threads, die mit Executors.newFixedThreadPool ausgeführt werden, sind nie fertig
- 14. Kann in .NET ein Finalizer ausgeführt werden, selbst wenn der Konstruktor eines Objekts nie ausgeführt wurde?
- 15. Wie schließt Python Dateien, die gc'ed wurden?
- 16. JQuery Wenn Else-Anweisung nie ausgeführt wurde
- 17. OnDataChange nie ausgeführt, während retreiving Daten
- 18. iOS: Warum wird die Fetch-Hintergrundfunktion nie vollständig ausgeführt?
- 19. Scalatest Maven Plugin "keine Tests wurden ausgeführt"
- 20. Vue.js berechneter Wert nie beim Start ausgeführt
- 21. Airflow DAG Run ausgelöst, aber nie ausgeführt?
- 22. JAR-Dateien, die von IntelliJ IDEA erstellt wurden, werden nicht ausgeführt.
- 23. Return-Anweisung wird nie ausgeführt werden Warnung
- 24. RSpec warum ist vorher (: jeder) nie ausgeführt?
- 25. Wie kann Jenkins fehlschlagen, wenn keine Tests ausgeführt wurden?
- 26. Identifizieren SSRS-Berichte, die über 5 Minuten ausgeführt wurden
- 27. Kann nicht ausgeführt werden Vuejs Abhängigkeiten wurden nicht gefunden
- 28. Wie kann ich die Dateien auf meinem Server anzeigen?
- 29. Löschen von Dateien rückgängig machen, die durch rsync verursacht wurden
- 30. SenTestKit: Aufräumen nachdem ALLE Tests ausgeführt wurden?
Können Sie einen minimalen Beispielcode angeben, der dieses Verhalten repliziert? – AmeyaVS