pytest-2.9.0¶
pytest ist ein ausgereiftes Python-Testwerkzeug mit mehr als 1100 Tests gegen sich selbst, das auf vielen verschiedenen Interpretern und Plattformen funktioniert.
Siehe unten für die Änderungen und Dokumentation unter
Wie üblich können Sie von PyPI aus upgraden über
pip install -U pytest
Vielen Dank an alle, die zu dieser Veröffentlichung beigetragen haben, darunter
Anatoly Bubenkov Bruno Oliveira Buck Golemon David Vierra Florian Bruhin Galaczi Endre Georgy Dyuldin Lukas Bednar Luke Murphy Marcin Biernat Matt Williams Michael Aquilina Raphael Pierzina Ronny Pfannschmidt Ryan Wooden Tiemo Kieft TomV holger krekel jab
Viel Spaß beim Testen, Das py.test Entwicklungsteam
2.9.0 (im Vergleich zu 2.8.7)¶
Neue Features
Neues
pytest.mark.skip-Markierung, die markierte Tests bedingungslos überspringt. Vielen Dank an @MichaelAquilina für den vollständigen PR (#1040).--doctest-globkann jetzt mehrmals in der Kommandozeile übergeben werden. Vielen Dank an @jab und @nicoddemus für den PR.Die neuen Reporting-Optionen
-rpund-rPgeben die Zusammenfassung bzw. die vollständige Ausgabe von erfolgreichen Tests aus. Dank an @codewarrior0 für den PR.pytest.mark.xfailhat jetzt einestrict-Option, dieXPASS-Tests dazu bringt, die Testsuite fehlschlagen zu lassen, standardmäßig aufFalsegesetzt. Es gibt auch einexfail_strict-Ini-Option, die dies projektweit konfigurieren kann. Vielen Dank an @rabbbit für die Anfrage und @nicoddemus für den PR (#1355).Parser.addiniunterstützt jetzt Optionen vom Typbool. Vielen Dank an @nicoddemus für den PR.Die neue
ALLOW_BYTES-Doctest-Option entferntb-Präfixe aus Byte-Strings in der Doctest-Ausgabe (ähnlich wieALLOW_UNICODE). Vielen Dank an @jaraco für die Anfrage und @nicoddemus für den PR (#1287).Gibt einen Hinweis bei
KeyboardInterrupt, die Option--fulltracezu verwenden, um die Fehler anzuzeigen. Dies behebt #1366. Vielen Dank an @hpk42 für den Bericht und @RonnyPfannschmidt für den PR.Fängt
IndexError-Ausnahmen beim Abrufen des Quellorts der Ausnahme ab. Dies behebt einen internen pytest-Fehler für dynamisch generierten Code (Fixtures und Tests), bei dem Quellzeilen absichtlich gefälscht sind.
Änderungen
Wichtig: py.code wurde in das
pytest-Repository alspytest._codeintegriert. Diese Entscheidung wurde getroffen, dapy.codeaußerhalb vonpytestnur sehr wenige Verwendungen hatte und die Tatsache, dass es sich in einem anderen Repository befand, die zeitnahe Behebung von Fehlern im Code erschwerte. Das Team hofft, dadurch diesen Code besser refaktorisieren und verbessern zu können. Diese Änderung sollte keine Auswirkungen auf die Benutzer haben, aber es ist nützlich, die Benutzer zu informieren, falls sie seltsames Verhalten feststellen.Beachten Sie, dass der Code für
pytest._codeprivat und experimentell ist, daher sollten Sie ihn auf keinen Fall explizit importieren!Bitte beachten Sie, dass das ursprüngliche
py.codeweiterhin in pylib verfügbar ist.pytest_enter_pdbempfängt nun optional das pytest-Konfigurationsobjekt. Vielen Dank an @nicoddemus für den PR.Code und Dokumentation für Python 2.5 oder ältere Versionen entfernt, einschließlich der Entfernung des veralteten Moduls
_pytest.assertion.oldinterpret. Vielen Dank an @nicoddemus für den PR (#1226).Vergleiche werden jetzt immer vollständig angezeigt, wenn
CIoderBUILD_NUMBERin der Umgebung gefunden wird, auch wenn -vv nicht verwendet wird. Vielen Dank an @The-Compiler für den PR.--lfund--ffunterstützen jetzt die Langnamen:--last-failedbzw.--failed-first. Vielen Dank an @MichaelAquilina für den PR.Erwartete Ausnahmen zur Fehlermeldung von pytest.raises hinzugefügt
Die reine Sammlung zeigt den Fortschritt ("collecting X items") nur an, wenn sie in einem Terminal ausgeführt wird. Dies vermeidet überflüssige Ausgaben, wenn
--color=yesverwendet wird, um Farben in CI-Integrationssystemen zu erhalten (#1397).
Fehlerbehebungen
Die Optionen
-sund-csollten jetzt unterxdistfunktionieren;Config.fromdictargsstellt seine Eingaben jetzt wesentlich getreuer dar. Vielen Dank an @bukzor für den vollständigen PR (#680).Fix (#1290): Unterstützung des
@-Operators von Python 3.5 bei der Assertion-Rewriting. Vielen Dank an @Shinkenjoe für den Bericht mit Testfall und @tomviner für den PR.Formatierung von UTF-8-Erklärungsnachrichten korrigiert (#1379). Vielen Dank an @biern für den PR.
Fix der Dokumentation zum Traceback-Stil, um alle verfügbaren Optionen (auto/long/short/line/native/no) zu beschreiben, wobei
autoseit v2.6 der Standard ist. Vielen Dank an @hackebrot für den PR.Fix (#1422): junit record_xml_property erlaubt keine mehreren Datensätze mit gleichem Namen.