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
unittest: Ergebnis geskippter Tests abspeichern
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?
Wozu dient das ganze denn?
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:

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
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:

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
Man schreibt ein Plugin. https://docs.pytest.org/en/stable/writing_plugins.html
- __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