AGB  ·  Datenschutz  ·  Impressum  







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

DUnit und Jenkins - Wie errorcode auswerten

Ein Thema von Harry Stahl · begonnen am 28. Nov 2023 · letzter Beitrag vom 29. Nov 2023
Antwort Antwort
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.533 Beiträge
 
Delphi 11 Alexandria
 
#1

DUnit und Jenkins - Wie errorcode auswerten

  Alt 28. Nov 2023, 22:18
Ich habe für eine Unit ein Testprojekt erstellt (mit DUNIT).

Das lasse ich erst mal erzeugen und führe dann im PostBuild das Projekt aus.

Wenn ein Test fehl geht, erhalte ich z.B. Ausgaben wie hier dargestellt:

Code:
Executing: "D:\DEV\DX10\PCDatabase\Test\Win32\Debug\PCDatabaseTests.exe"
DataFiles: "D:\DEV\DX10\PCDatabase\Test\Win32\Debug\"
OSVersion: "Windows 10 (Version 22H2, Betriebssystem-Build 19045.3570, 64-Bit-Edition)"

DUnit / Testing
E.......
Time: 0:00:00.557

FAILURES!!!
Test Results:
Run:            8
Failures:       0
Errors:         1
There was 1 error:
  1) [TestBinaryDB] TestTBinaryDB.TestSaveFreeSpaceList: EOSError
     at
      "Ein Aufruf einer Betriebssystemfunktion ist fehlgeschlagen"
Jenkins wertet das aber nicht als Fehler und zeigt ein OK an. Habe gelesen, dass man die Ausgabe des DUnit-Ergebnisses als XML-Datei für JUnit umwandeln lassen muss. Bloß womit und wie mache ich das?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#2

AW: DUnit und Jenkins - Wie errorcode auswerten

  Alt 29. Nov 2023, 00:03
Lässt du dir nicht für Jenkins vom DUnitX so eine XML generieren?

Steht der Fehler dort auch als Fehler drin?



Jupp, steht so in der Hilfe, wenn ich mich nicht irre.

Da muß nur der "XML Logger" hinzugefügt werden (die Logger-Unit dafür ins Uses)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (29. Nov 2023 um 00:05 Uhr)
  Mit Zitat antworten Zitat
jsheyer

Registriert seit: 9. Jun 2005
Ort: Jüchen
90 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: DUnit und Jenkins - Wie errorcode auswerten

  Alt 29. Nov 2023, 08:26
Ich habe das bei mir so konfigueriert:

Code:
  {$IFDEF TESTINSIGHT}
  TestInsight.DUnitX,
  {$ELSE}
  DUnitX.Loggers.Console,
  DUnitX.Loggers.XML.NUnit,
  {$ENDIF }
Damit kann ich steuern, ob ich das im Testinsight oder im Jenkins benutze.
Und im Jenkins habe ich dann eine stage für den Test:

Code:
        stage('Test') {
            steps {
                echo 'Testing..'
            bat 'testprogram.exe --xmlfile:.\\ausgabe.xml'
                nunit testResultsPattern: 'ausgabe.xml'
            }
        }
Damit werden die einzelnen Testergebnisse auch sauber in Jenkins dargestellt.
Jörg Heyer

Geändert von jsheyer (29. Nov 2023 um 08:35 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#4

AW: DUnit und Jenkins - Wie errorcode auswerten

  Alt 29. Nov 2023, 09:46
Ich habe das bei mir so konfigueriert:
...
Damit werden die einzelnen Testergebnisse auch sauber in Jenkins dargestellt.
Das ist aber ein anderes Testframework, DUnitX (nicht DUnit), und daher nicht 1:1 übertragbar.
Michael Justin
  Mit Zitat antworten Zitat
jsheyer

Registriert seit: 9. Jun 2005
Ort: Jüchen
90 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: DUnit und Jenkins - Wie errorcode auswerten

  Alt 29. Nov 2023, 09:52
Ich habe das bei mir so konfigueriert:
...
Damit werden die einzelnen Testergebnisse auch sauber in Jenkins dargestellt.
Das ist aber ein anderes Testframework, DUnitX (nicht DUnit), und daher nicht 1:1 übertragbar.

Da hast du natürlich Recht, wie das bei Dunit ist weiß ich leider auch nicht.
Jörg Heyer
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.533 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: DUnit und Jenkins - Wie errorcode auswerten

  Alt 29. Nov 2023, 16:42
Ich habe das bei mir so konfigueriert:
...
Damit werden die einzelnen Testergebnisse auch sauber in Jenkins dargestellt.
Das ist aber ein anderes Testframework, DUnitX (nicht DUnit), und daher nicht 1:1 übertragbar.
Ja, genau, wie Eingangs erwähnt DUnit und nicht DUnitX.

Für DUnit gibt es offenbar keine Logger-unit.
  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 02:48 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