unittest: Ergebnis geskippter Tests abspeichern

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
test.py
User
Beiträge: 9
Registriert: Montag 23. September 2019, 11:04

Hi,

ich benutze unittest und speichere die Ergebnisse in in der tearDown-Methode in eine Datei. Ich will aber auch abspeichern, wenn Tests geskippt werden, nur dass setUp/tearDown für dieses Tests ja gar nicht aufgerufen wird.
Gibt es einen Weg, wie ich das bewerkstelligen kann?

LG
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das klingt sehr falsch. Es sollte nicht Aufgabe der Tests sein, das zu Speichern. Sondern des testrunners. Und die kann man oft mit Plugins erweitern, die einem sowas ggf. auch ermöglichen.

Wozu dient das ganze denn?
test.py
User
Beiträge: 9
Registriert: Montag 23. September 2019, 11:04

Das ist schonmal ein super Hinweis mit dem Runner, danke!

Also ich teste externe Hardware, und da deren Verhalten manchmal von der Ausführungsreihenfolge der Tests abhängen kann, stelle ich mir eine zufällige Testabfolge als TestSuite zusammen (hab auf die Schnelle nix Fertiges gefunden, wie ich unittest sagen kann, das sellbst zu tun). Die Tests sind tendenziell langwierig und dauern in der Regel einige Minuten bis zu einigen Stunden pro Test. Umso wertvoller sind daher die Ergebnisse, die ich mir automatisch mit openpyxl als Excel-Tabelle zusammenstellen lasse:

Bild

Jedes einzelne Testergebnis (".", "F", "E" etc.) ist dabei ein Link zu einem Ort im selben Dokument mit detaillierten Informationen zum Testablauf, Randbedingungen, Fehlern, Traceback etc. Die fehlgeschlagenen Expects sind außerdem als Tooltip hinterlegt.

Eigentlich sollen auch die geskippten Tests mit in diese Auflistung. Wie bringt man einem Runner denn bei, die Ergebnisse automatisch einzutragen?

LG
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

test.py
User
Beiträge: 9
Registriert: Montag 23. September 2019, 11:04

OK, dann such ich mal danach, wie ich ein unittest-Plugin schreibe (ich bin nämlich derzeit noch an unittest gebunden, auch wenn ein Wechsel zu pytest erwünscht ist, zumindest von mir)
Benutzeravatar
__blackjack__
User
Beiträge: 14052
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@test.py: pytest kann man auch mit/für `unittest`-Tests verwenden.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten