py.test 2.0.1: Bugfixes

Willkommen bei pytest-2.0.1, einem Wartungs- und Bugfix-Release von pytest, einem ausgereiften Testwerkzeug für Python, das CPython 2.4-3.2, Jython und die neuesten PyPy-Interpreter unterstützt. Umfangreiche Dokumentation mit getesteten Beispielen finden Sie hier.

Wenn Sie pytest installieren oder aktualisieren möchten, geben Sie einfach Folgendes ein:

pip install -U pytest # or
easy_install -U pytest

Vielen Dank an alle, die Fehler gemeldet haben, und an alle, die Fragen gestellt oder sich beschwert haben. Besonderer Dank gilt Floris Bruynooghe und Ronny Pfannschmidt für ihre großartigen Codebeiträge und vielen anderen für Feedback und Hilfe.

Beste Grüße, holger krekel

Änderungen zwischen 2.0.0 und 2.0.1

  • Initiales Erfassen verfeinert und vereinheitlicht, sodass es auch dann gut funktioniert, wenn das Logging-Modul auf einer früh geladenen conftest.py-Datei oder einem Plugin verwendet wird.

  • Fehler behoben (Issue 12) - Plugin-Versionen mit "--version" und "--traceconfig" anzeigen und auch dokumentieren, wie zusätzliche Informationen zum Berichts-Test-Header hinzugefügt werden können.

  • Fehler behoben (Issue 17) (Import-* Reporting-Problem unter Python3) durch Anforderung von py>1.4.0 (1.4.1 wird es enthalten).

  • Fehler behoben (Issue 10) (NumPy-Array-Wahrheitsprüfung) durch Verfeinerung der Assertionsinterpretation in der py-Bibliothek.

  • Fehler behoben (Issue 15): Nose-Kompatibilitätstests mit Python3 kompatibel machen (da nose-1.0 Python3 unterstützt).

  • Entfernung der etwas überraschenden "same-conftest"-Erkennung, da conftest.py ignoriert wird, wenn sie in mehreren Unterverzeichnissen vorkommen.

  • Assertions verbessert ("nicht in"), dank Floris Bruynooghe.

  • Verbessertes Verhalten/Warnungen bei Ausführung über "python -OO" (Assertions und Docstrings werden deaktiviert, was zu potenziellen Fehlalarmen führen kann).

  • Einführung eines pytest_cmdline_processargs(args) Hooks, um die dynamische Berechnung von Kommandozeilenargumenten zu ermöglichen. Dies behebt eine Regression, da py.test vor 2.0 das Setzen von Kommandozeilenoptionen aus conftest.py-Dateien erlaubte, was pytest-2.0 bisher nur aus Ini-Dateien erlaubte.

  • Fehler behoben (Issue 7): Assertionsfehler in Doctest-Modulen. Unerwartete Fehler in Doctests werden nun generell schöner angezeigt, d. h. innerhalb des fehlenden Doctest-Kontexts.

  • Fehler behoben (Issue 9): Setup/Teardown-Funktionen für einen xfail-markierten Test werden als xfail berichtet, wenn sie fehlschlagen, aber normal als bestanden (nicht xpassed), wenn sie erfolgreich sind. Dies gilt nur für "direkte" Setup/Teardown-Aufrufe, da teardown_class/ teardown_module nicht eng mit einem einzelnen Test in Beziehung gesetzt werden können.

  • Fehler behoben (Issue 14): Keine Logging-Fehler beim Prozessende.

  • Verfeinerungen der "collecting"-Ausgabe auf Nicht-TTYs.

  • Verfeinerung der internen Plugin-Registrierung und --traceconfig-Ausgabe.

  • Einführung eines Mechanismus zur Verhinderung/Abmeldung von Plugins über die Kommandozeile, siehe https://docs.pytest.de/en/stable/how-to/plugins.html#cmdunregister.

  • Aktivierung des resultlog-Plugins standardmäßig.

  • Regression behoben bezüglich zurückgegebener Tests, die aufgrund der "collect before running"-Semantik nicht wie bei pytest 1.3.4 eingerichtet wurden. Beachten Sie jedoch, dass der empfohlene und wesentlich sauberere Weg zur Parametrisierung von Tests der Mechanismus "pytest_generate_tests" bleibt, siehe Dokumentation.