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

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
m0ps1234
User
Beiträge: 40
Registriert: Freitag 13. März 2009, 08:57

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
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)
m0ps1234
User
Beiträge: 40
Registriert: Freitag 13. März 2009, 08:57

Danke, BlackJack, hattest recht :)
Antworten