Die Deckung von Delphi -Code ist ein einfaches Code -Abdeckungstool für Delphi, das Berichte zur Codeabdeckung basierend auf detaillierten Kartendateien erstellt.
Bitte sehen Sie sich dieses Projekt auch an, da es der Delphi -IDE einen Assistenten hinzufügt, um die Konfiguration zu erstellen und die Deckung der Delphi -Code zu starten.
Das Projekt, das Sie für einen Code -Berichterstattungsbericht ausführen möchten, muss eine "Debug" -Konfiguration haben, die eine detaillierte Kartendatei generiert.
Die Deckung von Delphi -Code misst derzeit nur "Zeilenabdeckung", dh sie verfolgt jede Zeile, für die Code generiert wurde, und markiert ihn, wenn er ausgeführt wurde.
Für Anwendungen, die Borland -Paketbibliotheken (im Wesentlichen DLLs) oder externe DLLs verwenden, versucht DCC, eine .map -Datei für jede DLL zu laden. Wenn sie in diesen Bibliotheken Teil der abgedeckten Einheiten sind, überspannt die Codeabdeckung die als Teil der Anwendung geladene DLL/BPL. Die .MAP -Datei muss im selben Verzeichnis wie die geladene DLL existieren.
Laden Sie die neueste Version herunter, entpacken Sie die Datei und geben Sie sie beispielsweise in Ihre Delphi -Installationen "Bin" oder an einem Ort, an dem es sich im "Pfad" befindet.
Alle Parameter verstehen auch Umgebungsvariablen im Stapelstil (z. B. % Windir % usw.) Wenn eine Datei für die Quellverzeichnisse verwendet wird (siehe -spf ), sind auch Umgebungsvariablen zulässig. Es ist möglich, bestimmte Einheiten in der Einheiten -Datei (siehe -uf ) auszuschließen, indem Sie ein "!" vor dem Einheitsnamen.
Öffnen Sie eine Befehlszeile Eingabeaufforderung im Verzeichnis, in dem sich Ihre kompilierte Anwendung und ausführbare Datei befindet.
Typ: CodeCoverage -m TestApp.map -e TestApp.exe -u TestUnit TestUnit2 -xml -html
Aufgrund neuerer Sprachfunktionen ist etwas neuerer Compiler erforderlich. Es ist bekannt, dass das Projekt Delphi XE2 nicht unterstützt. XE3 wird wahrscheinlich funktionieren. Hauptentwicklung erfolgt mit 10.x -Versionen.
-html als Parameter an)Für jede Einheit gibt es eine Einheit. Grüne Linien wurden bedeckt. Rote Linien waren keine abgedeckten Linien. In den anderen Zeilen wurde kein Code dafür generiert. Es gibt auch eine CodeCoverage_Summary.html -Datei, die die Berichterstattung zusammenfasst und Links zu den generierten Einheitenberichten enthält.
-xml als Parameter)Ein zusammenfassender XML -Bericht mit dem Namen CodeCoverage_Summary.xml wird im Ausgabeverzeichnis generiert, das mit der XML -Ausgabe von EMMA kompatibel ist. Verwenden Sie in Kombination mit den Switches '-xmllines' und '-xmlgenerics' für eine detaillierte Codeabdeckung pro Zeile.
-emma oder -emma21 als Parameter)Es ist nun möglich, EMMA -kompatible Ausgabe zu erstellen, mit der EMMA zum Zusammenführen mehrerer Codeabdeckungen sowie zur Verwendung von EMMA zum Generieren von Berichten verwendet werden kann.
DCC ist mit Delphi bis zu 10.4.2, sowohl 32 als auch 64 Bit kompatibel.
Sie können die Ergebnisse des XML -Berichts in Sonarqube integrieren. Weitere Informationen finden Sie im Delphi Sonarqube Plugin oder neuere Version.
Sie können den XML -Bericht mit dem Hudson Emma Plugin integrieren. Der HTML -Bericht kann mit dem HTML -Publisher -Plugin integriert werden.
Die neuesten Veröffentlichungen wurden durch die großzügige Unterstützung von DevFactory und Mendrix ermöglicht.
Dieses Projekt wurde von großartigen Werkzeugen in der Java -Welt wie Emma inspiriert. Dieses Projekt verweist seit mehr als einem Jahr in einer unvollendeten Form in meinem Festplatten. Schließlich rutschte es heraus.
-m MapFile.map | Die als Eingabe verwendete Kartendatei |
-e Executable.exe | Die ausführbare Datei zum Ausführen |
-sd directory | Das Verzeichnis, in dem die Quelle gefunden werden kann |
-sp directory directory2 | Die Verzeichnisse, in denen die Quelle gefunden werden kann |
-spf filename | Verwenden Sie Quellverzeichnisse, die in der Datei aufgeführt sind, auf die Dateiname angezeigt wird. Ein Verzeichnis pro Zeile in der Datei |
-esm mask1 mask2 etc | Eine Liste von Dateimasken, die von der Liste der Einheiten ausgeschlossen werden können |
-ism mask1 mask2 etc | Nur Einheiten integrieren, die mit den bereitgestellten Dateimasken übereinstimmen |
-ecp prefix1 mask2 etc | Eine Liste der Klassenpräfixe, die von der Berichterstattung ausgeschlossen werden sollen |
-od directory | Das Verzeichnis, in dem die Ausgabedateien eingestellt werden - Hinweis - Das Verzeichnis muss vorhanden sein |
-u TestUnit TestUnit2 | Die Einheiten, die auf Codeabdeckung überprüft werden müssen |
-uf filename | Deckungseinheiten, die in der Datei aufgeführt sind, auf die Dateiname angezeigt wird. Eine Einheit pro Zeile in der Datei |
-v | Währungsausgabe anzeigen |
-dproj ProjectFile.dproj | Analysieren Sie die Projektdatei für Quell -Dires, ausführbare Name, Code -Seite und andere Optionen. Beachten Sie, dass Optionen, die nur einen einzelnen Wert haben könnten, z. |
-a Param Param2 | Parameter zur Übergabe an den Antrag, der auf die Codeabdeckung überprüft werden muss. ^ ist ein Fluchtcharakter |
-lt [filename] | Protokollieren Sie Ereignisse in einer Textprotokolldatei. Standarddateiname lautet: Delphi-Code-Coverage-Debug.log |
-lapi | Protokollieren Sie Ereignisse in der Windows -API -Ausgaberdebugstring |
-ife | Dateierweiterung einbeziehen - Dies stoppt "Common.Codings", um "konvertiert" in "Common" zu "konvertiert". |
-efe | Dateierweiterung ausschließen - dies wird "Common.encodings.pas" in "Common.Codings" (und leider "Common.Codings" zu "Common") "konvertiert". Dies ist standardmäßig eingeschaltet. |
-emma | Generieren Sie die EMMA -Abdeckung als "Deckung" im Ausgabeverzeichnis. |
-emma21 | Generieren Sie die EMMA21 -Abdeckung als "Deckung.Es" im Ausgabeverzeichnis. |
-meta | Generieren Sie separate Meta- und Abdeckungsdateien, wenn Sie die EMMA -Ausgabe erzeugen - 'Coverage.EM' und 'Coverage.ec' für Meta -Daten und Abdeckungsdaten. HINWEIS: Bedarf auch -emma. |
-xml | Generieren Sie die XML -Abdeckungsausgabe - Generieren Sie die XML -Ausgabe als "CodeCoverage_Summary.xml" im Ausgabeverzeichnis. |
-xmllines | Fügt der erzeugten XML -Abdeckungsausgabe die Leitungsabdeckung hinzu. |
-xmlgenerics | Kombinieren Sie die Linienabdeckung für mehrere Vorkommen desselben Dateinnamens (insbesondere bei generischen Klassen). |
-html | Generieren Sie die HTML -Abdeckungsausgabe als "CodeCoverage_Summary.html" im Ausgabeverzeichnis. |
-uns dll_or_exe unitname [unitname_2] | Erstellen Sie einen separaten Namespace (der Namespace -Name ist der Name des Moduls ohne Erweiterung) nur für die aufgelisteten Einheiten innerhalb des Moduls |
-mns name dll_or_exe [dll_or_exe_2] | Erstellen Sie einen separaten Namespace mit dem angegebenen Namen für die aufgeführte DLL: s. Alle in diesen Modul geladenen Modulen werden namensspasiert. |
-lcl LineCountLimit | Anzahl der Anzahl, mit der eine Zeile bis zur angegebenen Grenze ausgeführt wird |
-cp CodePage | Code -Seitennummer der Quelldateien |
-tec | Durchgang der ExitCode der inspizierten Anwendung |
-twd | Verwenden Sie den Pfad der Anwendung als Arbeitsverzeichnis |
Die Deckung der Delphi -Code ist gemäß den Bestimmungen der Mozilla Public Lizenz, v. 2.0, lizenziert. Sie können eine Kopie der Lizenz unter http://mozilla.org/mpl/2.0/ erhalten.