AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1
Thema durchsuchen
Ansicht
Themen-Optionen

Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

Ein Thema von freimatz · begonnen am 23. Nov 2022 · letzter Beitrag vom 30. Nov 2022
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.462 Beiträge
 
Delphi 12 Athens
 
#11

AW: Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

  Alt 25. Nov 2022, 13:50
In der Regel habe ich das Hauptprojekt und dazu ein separates Testprojekt. Das Plugin erwartet, dass das Testprojekt aktiv ist. Ich habe noch nicht probiert, ob die zu testende Unit auch zwingend im Testprojekt enthalten sein muss.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.019 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#12

AW: Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

  Alt 25. Nov 2022, 16:25
Es zählt auch die Hits, wie im unteren Screenshot auf der GitHub-Seite in den eckigen Klammern zu sehen ist. In dem Beispiel wird halt nur ein Test gemacht, deswegen immer nur eine 1. Die roten Pfeile zeigen dabei die Code-Zeilen mit HitCount = 0.
Stimmt Hab mich zu sehr auf den Anfang der Zeile konzentriert und die Zahlen rechts dahinter nicht gesehen. Eventuell könnte man die direkt an die farbigen Bömpel schreiben. Ich kenn das vom ReportGenerator für .NET und ich meine das HTML, was DelphiCodeCoverage ausspuckt, hats auch links stehen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#13

AW: Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

  Alt 25. Nov 2022, 18:10
Hallo,
damit es nicht so ein durcheinander hier gibt fange ich hier einen separaten Thread dazu an.

Ich gehe mal wieder ran und versuche nun ein Coverage.
Ich mache das jetzt mal etwas ausführlicher. Was genau hilfreich ist weis sich nicht. Ich schreib einfach mal meine Gedanken dazu. HTH.

Konkreter Anlass: ich habe in einer unit eine Methode ergänzt und möchte wissen ob für diese (und ggf. auch alle anderen Methoden) der unit test vollständig ist.
In meinen vorigen Versuchen hatte ich eine separate Workingcopy. Nun bin ich in meiner aktuellen. Dazu ziehe ich dort DelphiCodeCoverageWizard.dproj in meine Projektgruppe.
Noch ein pull, bin auf Revision: b8b4f992 Date: 20.11.2022 16:05:02
Ja, deine Gedanken helfen, ich weiß aber nicht auf welchem branch du bist. Die aktuellste Version auf Github ist jedenfalls cb3af29 vom 23.11.
Also ist deine schon wieder veraltet
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#14

AW: Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

  Alt 25. Nov 2022, 18:14
Zitat:
Aber das zu haben vs. es nicht zu haben ist schon ein Fortschritt!
Genau deshalb zählt CodeCoverage ja auch die Hits. Was Uwe aber oben als ihm genügend erwähnte soweit ich weiß nicht.
Nur um dich richtig zu verstehen: Was Uwe aber oben als soweit ich weiß ihm nicht genügend erwähnte.
Naja, ihm geht's wohl darum, dass ein C2 oder wie auch immer das genannt wird (lt. Wikipedia gibt's
da ja Unterschiedliche Bezeichnungen weil unterschiedliche Leute das unterschiedlich nennen )
auch erkennen würde ob alle Varianten eines if Aufrufs der and und or etc. enthält auch getestet wurden.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#15

AW: Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

  Alt 25. Nov 2022, 18:22
CodeCoverage ist leider noch enorm instabil und bei nur dem kleinsten Fehler in der map Datei (da werden manchmal Code Addressen als ausführbarer Code gelistet, die gar nicht stimmen, bzw in die auf gar keinen Fall ein Breakpoint darf) klatscht es gegen die Wand.
Besonders bei Generics (muss ich wohl wissen, hab bereits einige Stunden reingesteckt um einen vollständigen Report für die Spring Tests zu bekommen, der auch korrekt ist) fliegt es sehr oft auseinander.

Aber da ja jüngst irgendwie so ein kleiner Hype um das Projekt ausgebrochen ist, lehn ich mich zurück und warte, bis es jemand fixed.
Also ich werde CodeCoverage.exe sicher nicht fixen, da kenn' ich mich zu wenig aus.
Ich weiß auch gerade nicht, was dort derzeit als Issues alles gemeldet ist, d.h. ob diese Probleme die du gesehen hast dort bekannt sind.

Das bisschen Nutzung welches ich bisher hatte (im Rahmen der DEC) schien ok zu sein.
Aber zugegeben: DEC enthält auch kaum Generics und wenige annonyme methoden.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#16

AW: Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

  Alt 25. Nov 2022, 18:34
Hallo,
damit es nicht so ein durcheinander hier gibt fange ich hier einen separaten Thread dazu an.

Zurück in Wizard, F9, es startet.
1. Keine Icons mehr, ist mir gerade nicht wichtig.
Wo keine Icons mehr? Der Wizard enthält diese in einer TImageCollection und es hat sich auch keine Änderung bei den Pfaden
zu den Original PNG Dateien ergeben.

2. Map file kommt nicht von alleine, also selber eintragen ... ach ne ist ja noch nicht da -> featurerequest: bei der Angabe der Dateien eine Angabe ob die aktull ausgewählte auch vorhanden ist.
Also z. B. ein Ballon Hint wenn du eine neue EXE auswählst und es dafür noch keine MAP-Datei gibt?

3. Command line parameter: das -ife lasse ich mal weg, das macht ja nun der Wizard nehm ich an.
Ja, wird jetzt statisch eingefügt. Hat ja keiner aufgezeigt, dass das irgendwelche Probleme bereitet.

4. Source, ich habe hunderte Dateien, etwas mühsam da auszuwählen. Aktuell egal, mich interessiert nur eine unit. Sonst habe ich auch schon mal die dccp editiert.
Wie sollte/könnte das anders aussehen (ohne ewig viel Aufwant zum Programmieren zu erzeugen)?
Immerhin hab' ich anders als das Programm, das ich damit ersetzen will ja schon "Select all", "Deselect all" und "Refresh" umgesetzt.

5. HTML und "Save log ..." an
6. Ah "Save project & ..." ist enabled
7. "Save project as ...""
Code:
---------------------------
Error
---------------------------
Failed to create path:
Reason: Unable to create directory
[]
---------------------------
OK  
---------------------------
Wäre schön er würde auch sagen was für ein directory (ich weiss was es ist und korriere das)
Wäre einfacher für mich da was zu korrigieren, wenn du mir verraten würdest welcher der Pfade nicht erstellt
werden konnte. Hinter dem : der ersten Textzeile sollte der Pfad stehen. Der scheint aber leer zu sein...

8. Neuer Versuch. Coverage startet - es gibt ein Ergebnis. Nur eine Datei. Covered 3, Not Covered 1660
9. Ah falsche Datei, Parameter "-ife" fehlt doch noch, ich füge ihn manuell hinzu, neuer Versuch ...
10. Wieso habe ich nach einem Lauf nur "Home" und zwei weitere disabled Buttons? Muss jedesmal das Projekt wieder laden
Weil das die Seite ist, auf der die HTML Ausgabe gleich angezeigt würde. Die deaktivierten Buttons entsprechen vor und
zurück Buttons des Browsers und es sind auch immer nur die davon enabled die gerade auch funktionieren würden. Ohne
HTML Anzeige darunter ist das also nutzlos. Da will ich evtl. noch einen Hinweistext platzieren wenn HTML als Format
ausgewählt ist aber kein Edge2SDK installiert und das deshalb hier nicht angezeigt werden kann.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.447 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

  Alt 28. Nov 2022, 15:34
Hallo TurboMagicMagic,
Danke für Deine Mühe.

Zu 1.
Ich möchte ein anderes aktuelles Projekt prüfen. Dazu pulle ich und ziehe
DelphiCodeCoverageWizard.dproj rein. Dabei sehe ich, das in der Delphi-IDE noch Symbole da sind. Zur Laufzeit aber nicht mehr. Kann es daran liegen, dass die Symbole zu kleine sind für meine Auflösung?
Die kleinen Symbole links sind da.

Zu 2.
Ja genau - oder so ähnlich

Zu 3.


Zu 4.
Das mit dem wenig Mühe weiss ich nicht. Bei Tortoise git kann man mehre Dateien selektieren und wenn man dann links klickt übernehmen alle diesen Zustand. Aber nimms nicht so wichtig, solange das mit vielen Dateien nur selten funktioniert ist es eh egal.

Zu 5-7.
Es war der Script-Pfad. Und ja genau, der war leer.

Zu 8-10.
Nun gut. Ist halt etwas umständlich wenn man das HTML sieht und feststellt dass z.B. zwei Dateien fehlen und man wieder zurück will um diese noch anzuklicken.

Grüsse
freimatz
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#18

AW: Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

  Alt 28. Nov 2022, 20:45
Hallo TurboMagicMagic,
Danke für Deine Mühe.

Zu 1.
Ich möchte ein anderes aktuelles Projekt prüfen. Dazu pulle ich und ziehe
DelphiCodeCoverageWizard.dproj rein. Dabei sehe ich, das in der Delphi-IDE noch Symbole da sind. Zur Laufzeit aber nicht mehr. Kann es daran liegen, dass die Symbole zu kleine sind für meine Auflösung?
Die kleinen Symbole links sind da.
Eigentlich sollte das kein Auflösungsproblem sein. Die Anwendung ist HiDPI enabled, ich hab's aber
ehrlicherweise noch nicht richtig getestet. Die Images sind aber in verschiedenen Auflösungen enthalten.
=> ich kann mir das noch nicht erklären. Welche Bildschirmauflösung und welchen Zoomfaktor nutzt du?#
Ich gehe auch mal davon aus, dass du nicht mehrere Monitore mit unterschiedlicher Auflösung/Skalierung
nutzt und du die Anwendung zwischen den Bildschirmen hin und her schiebst?

Zu 4.
Das mit dem wenig Mühe weiss ich nicht. Bei Tortoise git kann man mehre Dateien selektieren und wenn man dann links klickt übernehmen alle diesen Zustand. Aber nimms nicht so wichtig, solange das mit vielen Dateien nur selten funktioniert ist es eh egal.
Das sagt mir jetzt nix, da ich kein Tortoise Git nutze. Reicht das "Select all" unter der Liste nicht?

Zu 5-7.
Es war der Script-Pfad. Und ja genau, der war leer.
Sollte also jetzt mit der genaueren Fehlermeldung behoben sein, richtig?

Zu 8-10.
Nun gut. Ist halt etwas umständlich wenn man das HTML sieht und feststellt dass z.B. zwei Dateien fehlen und man wieder zurück will um diese noch anzuklicken.
Ah! Du hättest gerne einen "Zurück zum Projekt" Button.
Das sollte machbar sein.

Wenn mir jetzt noch einer die passende Lösung liefert um den Copy Befehl im BuildEvent des Projekts
nur dann auszuführen, wenn es die zu kopierende Datei auch gibt, dann steht einer V2.00 kaum noch was im Weg.
Oder? Die bisherige Lösung mit if exists schien so nicht zu funktionieren.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#19

AW: Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

  Alt 29. Nov 2022, 19:00
Hallo,

es gibt einen neuen Commit 7d74498 im Development Branch mit diesen Ergänzungen:

1. Neuer Button "zurück zum Projekt"

2. Neuer Button "Projekt erneut ausführen"

Bis auf die Sache mit dem Kopieren der DLL für den Edge würde ich jetzt sagen, dass V2.0 soweit fertig wäre.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#20

AW: Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

  Alt 30. Nov 2022, 18:51
Hallo,

es gibt einen neuen Commit 0c832a5 im Development Branch.
Dieser korrigiert ein paar fehler:

1. Save stürzt jetzt nicht mehr ab, wenn noch kein Dateiname im Projekt vorhanden war
(z. B. weil es eben erst angelegt wurde) oder weil die Datei nicht mehr da ist. Es wird
dann einfach Save as aufgerufen.

2. Der Next Button unter dem Output Bildschirm wird jetzt aktiviert, wenn alle
erforderlichen Einstellungen getätigt wurden.

3. Wirft das Ausführen der Batch Datei eine Fehlermeldung, so wird die Warteanimation im
Hintergrund jetzt deaktiviert/verborgen und nach der Fehlermeldung landet man im Assistenten
auf der Save and Run Seite.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:57 Uhr.
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