Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Exceptions und Unittests (https://www.delphipraxis.net/195864-exceptions-und-unittests.html)

Ghostwalker 2. Apr 2018 15:28

Exceptions und Unittests
 
Servus miteinander,

folgendes Problem:

Ich bin gerade drüber, für einige Klassen/Routinen Unit-Tests zu machen. Soweit kein Problem,
allerdings teste ich auch, ob, bei entsprechenden Paremeter, auch die korrekten Exceptions fliegen.

Allerdings meint die Delphi-IDE, sie muss die Exception auch wirklich anzeigen (was unheimlich nervig ist).

Deshalb mal eine Frage, ob es eine Möglichkeit gibt, die Exception so zu verbiegen, das sie zwar ausgelöst wird
(damit DUnitX das auch mitbekommt), die Message aber nicht angezeigt wird (oder z.B. in einem Log landet) ?

btw. Ja, ich könnte die Meldungen generell (also Projektweit) abschalten, das ist aber grad hier keine so
gute Idee, da ich Exceptions in anderen Tests durchaus mitbekommen möchte.

Uwe Raabe 2. Apr 2018 16:09

AW: Exceptions und Unittests
 
Las die Unittests doch einfach ohne Debugger laufen.

himitsu 2. Apr 2018 16:40

AW: Exceptions und Unittests
 
Diese Exceptions auf die Blacklist setzen?
Unten links die Checkbox.

In den IDE-Einstellungen lassen sie sich wieder aktivieren.

Uwe Raabe 2. Apr 2018 17:04

AW: Exceptions und Unittests
 
Zitat:

Zitat von Ghostwalker (Beitrag 1397882)
ob es eine Möglichkeit gibt, die Exception so zu verbiegen, das sie zwar ausgelöst wird
(damit DUnitX das auch mitbekommt), die Message aber nicht angezeigt wird (oder z.B. in einem Log landet) ?

Du kannst vor den Code, in dem die Exception ausgelöst wird, einen Breakpoint setzen und dessen Eigenschaften (unter Weitere >>) so einstellen:
Code:
Anhalten: False
Spätere Exceptions ignorieren: True
Spätere Exceptions behandeln: False
Dann noch einen Breakpoint nach diesem Code setzen mit diesen Eigenschaften:
Code:
Anhalten: False
Spätere Exceptions ignorieren: False
Spätere Exceptions behandeln: True

Der schöne Günther 2. Apr 2018 17:34

AW: Exceptions und Unittests
 
Es gibt doch keinen Grund die Unit-Tests im Debugger laufen zu lassen, oder?

Wenn ein Test fehlschlägt und man noch einmal genauer nachsehen will kann man ja diesen einen Test auswählen und noch einmal mit Debugger starten (oder den Debugger nachträglich mit der bereits laufenden .exe verbinden).

hoika 3. Apr 2018 04:38

AW: Exceptions und Unittests
 
Hallo,
dazu habe ich das hier gefunden:
https://stackoverflow.com/questions/...t-other-method

Ghostwalker 3. Apr 2018 05:16

AW: Exceptions und Unittests
 
Moinmoin,

danke schonmal für eure Antworten. :)

Ich denk es wird auf die Variante mit den Breakpoints hinauslaufen, da das ganze während der Entwicklung einfacher für mich ist.

Ich dachte nur, das es evtl. eine Möglichkeit gibt, sich in das "Verhalten" von Exceptions zu Hook'en (wie es
z. B. madExcept macht).

Trotzdem Danke :)

himitsu 3. Apr 2018 06:39

AW: Exceptions und Unittests
 
Zitat:

Zitat von Ghostwalker (Beitrag 1397928)
Ich dachte nur, das es evtl. eine Möglichkeit gibt, sich in das "Verhalten" von Exceptions zu Hook'en (wie es
z. B. madExcept macht).

Natürlich kannst du das gern machen, aber es bringt dir irgendwie nichts, da der Debugger vor deinem Programmcode informiert wird. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:18 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