Seite 1 von 1

pyUnit: assert... ...if fail -> call function

Verfasst: Dienstag 5. Oktober 2010, 10:53
von m0ps1234
Hi zusammen,
ich beschäftige mich gerade ein wenig mit pyUnit Tests.
Die Tests an sich laufen korrekt ab. Jedoch müssten bei meinen Tests, sollte assert fehlschlagen, eine Methode aufgerufen werden. Ist dies möglich?
Beispiel:
So sieht mein Test jetzt aus:

Code: Alles auswählen

assert my.function(x) is True, 'Funktion gibt falsches Ergebnis'
ich benötige jedoch etwas wie:

Code: Alles auswählen

assert my.function(x) is True, my.otherFunction(x)
Wobei "otherFunction(x)" dann eine genauere Fehlerbehandlung durchführt.

Danke schonmal für die Hilfe!
Greetz

Re: pyUnit: assert... ...if fail -> call function

Verfasst: Dienstag 5. Oktober 2010, 11:01
von BlackJack
@m0ps1234: Bist Du Dir beim ``is True`` wirklich sicher? Muss das tatsächlich ein Identitätstest auf ein Objekt sein, oder reicht es nicht, dass das Ergebnis im Boole'schen Kontext "wahr" ist? Dann wäre ein ``assert my.function(x), 'Funktion gibt falsches Ergebnis'`` völlig ausreichend.

Zur Frage:

Code: Alles auswählen

if not my.function(x):
    assert False, my.other_function(x)

Re: pyUnit: assert... ...if fail -> call function

Verfasst: Dienstag 5. Oktober 2010, 13:44
von m0ps1234
Danke, BlackJack, hattest recht :)