AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Code coverage

Ein Thema von TurboMagic · begonnen am 9. Nov 2022 · letzter Beitrag vom 23. Nov 2022
Antwort Antwort
Benutzerbild von Stevie
Stevie

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

AW: Code coverage

  Alt 16. Nov 2022, 16:31
Ich habe mal an diejenigen, die schon CodeCoverage für ihre Unittests nutzen, folgende Fragen:
- Welchen Workflow nutzt ihr dafür? (Klassisches DUnit(X), TestInsight, Ausführung auf dem CI Server, etc)
- Wie schaut ihr euch den Coverage Report an? (meines Wissens nach generiert CodeCoverage ja so ein paar HTML Seiten oder auch andere Formate, welche noch weiter verarbeitet werden können).
- Wie gut funktioniert DelphiCodeCoverage bei euch? Meine Erfahrung ist, dass es entweder inakkurate Ergebnisse liefert oder sich auch mal mit AVs oder ähnlichem auf den Rücken legt.

Ich frage, da es mir schon seit langem ein Befürfnis ist, eine "ganzheitliche" Lösung dafür zu schaffen und speziell in Verbindung mit TI wäre das höchste der Gefühle natürlich, das ganze direkt in der IDE sehen zu können, wie man es auch in VisualStudio kann. Da wir GitLab benutzen und das wunderbar mit dem Cobertura Format klar kommt, um CodeCoverage anzuzeigen, hatte ich mal einen Prototypen für CodeCoverage gebaut, der dieses Format ausspuckt. Daraus wiederum kann man dann mit anderen externen Tools (wie zum Beispiel ReportGenerator) auch wunderbare HTML Seiten generieren oder auch in einem IDE Plugin das ganze in der IDE anzeigen.
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
3.039 Beiträge
 
Delphi 12 Athens
 
#2

AW: Code coverage

  Alt 16. Nov 2022, 17:16
Die aktuelle Version des CodeCoverage kann jedenfalls auch XML im JaCoCo Format ausgeben.
Der Wizard (Version aus dem Development Branch) kann das seit heute Vormittag auch anschalten.
Darüberhinaus kann man dort seit heute Vormittag auch optional beliebige Parameter dieses
Kommandozeilen Programms angeben, damit auch Dinge nutzbar werden, die ich noch nicht vorgesehen
habe.

Grüße
TurboMagic

PS: habe in meiner einen EKON Session zum Unit Testen letzte Woche auch dein TestInsight gezeigt
  Mit Zitat antworten Zitat
TurboMagic

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

AW: Code coverage

  Alt 16. Nov 2022, 18:37
Ich habe mal an diejenigen, die schon CodeCoverage für ihre Unittests nutzen, folgende Fragen:
- Welchen Workflow nutzt ihr dafür? (Klassisches DUnit(X), TestInsight, Ausführung auf dem CI Server, etc)
- Wie schaut ihr euch den Coverage Report an? (meines Wissens nach generiert CodeCoverage ja so ein paar HTML Seiten oder auch andere Formate, welche noch weiter verarbeitet werden können).
- Wie gut funktioniert DelphiCodeCoverage bei euch? Meine Erfahrung ist, dass es entweder inakkurate Ergebnisse liefert oder sich auch mal mit AVs oder ähnlichem auf den Rücken legt.

Ich frage, da es mir schon seit langem ein Befürfnis ist, eine "ganzheitliche" Lösung dafür zu schaffen und speziell in Verbindung mit TI wäre das höchste der Gefühle natürlich, das ganze direkt in der IDE sehen zu können, wie man es auch in VisualStudio kann. Da wir GitLab benutzen und das wunderbar mit dem Cobertura Format klar kommt, um CodeCoverage anzuzeigen, hatte ich mal einen Prototypen für CodeCoverage gebaut, der dieses Format ausspuckt. Daraus wiederum kann man dann mit anderen externen Tools (wie zum Beispiel ReportGenerator) auch wunderbare HTML Seiten generieren oder auch in einem IDE Plugin das ganze in der IDE anzeigen.
Die Frage ist auch in wieweit sich CodeCoverage seit deiner Begutachtung weiterentwickelt hat. Zwischen der Version
die ich ursprünglich benutzte (die beim ursprünglichen WIzard dabei war) und der aktruellen, die ich seit heute damit benutze
liegen auch irgendwie Welten. Mehrere neue Parameter für Ausgabeoptionen und auch die HTML Ausgabe sieht ganz anders (moderner)
aus, inkl. Prozentbalken und Tortendiagrammen.

Es stellt sich auch die Frage, ob man das, was im CodeCoverage evtl. noch nicht ganz passt fixen kann. Das Projekt scheint
ja schließlich grundsätzlich noch gewartet zu werden und es kann ja auch schon einiges...

Anbei mal ein paar Screenshots, die Anzeige ist hierbei die im Delphi Code Coverage Wizard Plus integrierte HTML Anzeige.
Mittels Option kann man sich das aber auch im mit HTML Dateien verknüpften Programm anschauen (ShellExec).

Grüße
TurboMagic
Angehängte Grafiken
Dateityp: png CCW1.PNG (39,2 KB, 29x aufgerufen)
Dateityp: png CCW2.PNG (50,1 KB, 26x aufgerufen)
Dateityp: png CCW3.PNG (48,6 KB, 26x aufgerufen)
  Mit Zitat antworten Zitat
TurboMagic

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

AW: Code coverage

  Alt 16. Nov 2022, 19:19
So, letztes Update für heute:
im Development Branch ist jetzt eine Fassung bei der man kontrollieren kann, ob die Logmeldungen in eine Text Datei gehen (so war's bisher immer automatisch) und/oder per OutputDebugString ausgegeben werden.

AUßerdem gibt's dort noch eine Option mit der man den Exit Code der aufgerufenen Anwendung durchreichen kann.
  Mit Zitat antworten Zitat
TurboMagic

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

AW: Code coverage

  Alt 17. Nov 2022, 08:20
Hallo,

neues update im Development Branch:
  • Enabeld Status des Weiter Buttons wird jetzt bei Nutzung der linken Navigationsleiste aktualisiert
  • Neue Option um dem aufgerufenen Unit Test Programm beliebige Kommandozeilenparameter übergeben zu können
  • Neue Option um das Arbeitsverzeichnis beim Aufruf des Unit Test Programms auf das Verzeichnis, in dem dieses liegt, zu setzen
  • Vereinfachung des Hinzufügens neuer Optionen durch weitgehendes Umstellens des Ladens dieser auf RTTI/Attribute

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz