Delphi-PRAXiS
Seite 1 von 8  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Code coverage (https://www.delphipraxis.net/211833-code-coverage.html)

TurboMagic 9. Nov 2022 06:19


Code coverage
 
Hallo,

frei nach dem Motto "tue Gutes" und sprich darüber, habe ich
eine komplett neu geschriebene Version des "Delphi Code Coverage Wizards"
(Fork der bisherigen Version siehe hier: https://github.com/MHumm/delphi-code-coverage-wizard) auf der EKON präsentiert.

Ich bin noch nicht ganz soweit, dass ich ein 1.0 Release machen will,
was fehlt ist aber eher noch kosmetischer Natur.

Das Kommandozeilen Tool zur Durchführung des Coverage Testlaufs wird
gleich als exe mitgeliefert.

Wer er ausprobieren will findet es hier:
https://github.com/MHumm/delphi-code...ge-wizard-plus
Einfach runterladen, Projekt öffnen und F9 drücken...

Voraussetzung:
Vermutlich wird mindestens 10.4 benötigt, entwickelt wurde es mit 11.2.

Was ist da jetzt anders dran?
  1. Es sollte unter HiDPI besser aussehen
  2. Es hat ein Projektformat spendiert bekommen, damit kann man später über das Tool Änderungen leicht umsetzen
    ohne jetzt die generierte Batch Datei oder eine der anderen generierten Dateien händisch anpassen zu müssen.
  3. Wird als Ausgabeformat HTML eingestellt, wird die Übersichtsseite nach Ausführung eines Testlaufes gleich
    im Tool angezeigt und man kann dort natürlich auch alle anderen verlinkten Seiten aufrufen.
  4. Beim Start erkennt das Tool wenn es neue Delphi Versionen/Konfigurationen auf dem PC gibt und bietet
    an, es dort ins Tools Menü einzutragen (erfordert danach IDE Neustart). Beim ersten Start wird das
    natürlich auch angeboten.
  5. Im Gegensatz zu seinem Vorgänger braucht es kein JVCL/JCL.

Grüße
TurboMagic

TurboMagic 9. Nov 2022 16:19

AW: Code coverage
 
Noch was dazu: eine Veröffentlichung via GetIt in ein paar Tagen ist auch geplant...

freimatz 9. Nov 2022 17:39

AW: Code coverage
 
Ich würde ja gerne, aber "DelphiCodeCoverageWizard is a simple wizard to setup and build scripts for DelphiCodeCoverage ...". Leider habe ich es trotz mehreren Versuchen nicht geschafft DelphiCodeCoverage mit unserem Projekt zum Laufen zu bringen.
Habe nachgeschaut, da gab es ein "EJclFileUtilsError".
Nun lese ich oben "5. Im Gegensatz zu seinem Vorgänger braucht es kein JVCL/JCL.". Sollte ich es nochmals versuchen? :gruebel:

TurboMagic 10. Nov 2022 05:57

AW: Code coverage
 
Hallo,

danke für's Testen und sorry, da muss sich der Fehlerteufel eingeschlichen haben.
Ich versuche das heute Abend zu fixen. Mist!

Grüße

TurboMagic

dummzeuch 10. Nov 2022 08:41

AW: Code coverage
 
Zitat:

Zitat von TurboMagic (Beitrag 1514560)
danke für's Testen und sorry, da muss sich der Fehlerteufel eingeschlichen haben.
Ich versuche das heute Abend zu fixen. Mist!

Pro Tip: 3rd-Party Bibliotheken sollten nicht im globalen Library-Path der IDE stehen sondern nur im Suchpfad des jeweiligen Projekts. Dann kann sowas schlicht nicht passieren.

Aber mal 'ne blöde Frage: Woher stammt das eigentliche Code Coverage Tool? Der Link führt zu Google Code, welches wiederum auf Sourceforge verlinkt, aber ist das wirklich die aktuelle Version?

Stevie 10. Nov 2022 16:12

AW: Code coverage
 
Zitat:

Zitat von dummzeuch (Beitrag 1514569)
Aber mal 'ne blöde Frage: Woher stammt das eigentliche Code Coverage Tool? Der Link führt zu Google Code, welches wiederum auf Sourceforge verlinkt, aber ist das wirklich die aktuelle Version?

Na, die auf GitHub natürlich :lol:

TurboMagic 10. Nov 2022 17:54

AW: Code coverage
 
Naja, mir ist klar, dass es da schon noch das eine oder andere gibt was man aufarbeiten könnte/sollte, aber diese
erste Version ist (vom JCL/JVCL Problem abgesehen und wenn man's installiert hat ist auch das keines) auch so schon
nützlich.

Und ja, es wird nur C0 oder wie das heißt abgedeckt, dafür muss es nicht den Quellcode instrumentieren.
Und selbst C0 ist besser als es nicht zu verwenden denke ich.

=> wenn's so funktioniert wie geplant gibt's in absehbarer Zeit eine gefixte Version und ich hab' auch noch
ein paar Ideen für kleine Verbesserungen. Ist eigentlich im Standard Lieferumfang der VCL ein URL/Link-Label dabei?
Ich glaube mich zu erinnern, dass da irgendwas war. Naja, nacher mal danach schauen...

TurboMagic 10. Nov 2022 19:00

AW: Code coverage
 
Zitat:

Zitat von freimatz (Beitrag 1514546)
Ich würde ja gerne, aber "DelphiCodeCoverageWizard is a simple wizard to setup and build scripts for DelphiCodeCoverage ...". Leider habe ich es trotz mehreren Versuchen nicht geschafft DelphiCodeCoverage mit unserem Projekt zum Laufen zu bringen.
Habe nachgeschaut, da gab es ein "EJclFileUtilsError".
Nun lese ich oben "5. Im Gegensatz zu seinem Vorgänger braucht es kein JVCL/JCL.". Sollte ich es nochmals versuchen? :gruebel:

Hm, jetzt frage ich mich wie wir die Ursache dafür herausbekommen.
Ich habe eben alle 11 Units des Projektes durchgeschaut und bei keinem war etwas in den Uses
was nicht mit Delphi (Professional) selber mitgeliefert wird. :?

Irgendjemand eine Idee? EJclFileUtilsError kann natürlich auch nirgends mittels Strg-Shift-F gefunden werden...

mytbo 10. Nov 2022 20:49

AW: Code coverage
 
Zitat:

Zitat von TurboMagic (Beitrag 1514620)
Hm, jetzt frage ich mich wie wir die Ursache dafür herausbekommen.

Die Exception wird in der Unit JclFileUtils definiert. Diese Unit wird im Projekt DelphiCodeCoverage (Link von Stevie) an mehreren Stellen verwendet.

Nachtrag: Der Fehler tritt in der Unit Debugger, Funktion TDebugger.Start auf. Die Funktion ForceDirectories wirft diesen Fehler, wenn kein Verzeichnisname übergeben wird. In der Konfiguration muss für OutputDir ein Verzeichnis angegeben werden.

Bis bald...
Thomas

TurboMagic 10. Nov 2022 21:38

AW: Code coverage
 
Zitat:

Zitat von mytbo (Beitrag 1514625)
Zitat:

Zitat von TurboMagic (Beitrag 1514620)
Hm, jetzt frage ich mich wie wir die Ursache dafür herausbekommen.

Die Exception wird in der Unit JclFileUtils definiert. Diese Unit wird im Projekt DelphiCodeCoverage (Link von Stevie) an mehreren Stellen verwendet.

Nachtrag: Der Fehler tritt in der Unit Debugger, Funktion TDebugger.Start auf. Die Funktion ForceDirectories wirft diesen Fehler, wenn kein Verzeichnisname übergeben wird. In der Konfiguration muss für OutputDir ein Verzeichnis angegeben werden.

Bis bald...
Thomas

Hallo,

danke für diese Infos! Das ist dann also nicht mein Problem, da mein Wizard das Kommandozeilen Tool
ja in vorcompilierter Fassung enthält. Somit bleibt mein Wizard JCL/JVCL frei.

Grüße
TurboMagic


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 Uhr.
Seite 1 von 8  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz