py.test 2.0.2: Fehlerbehebungen, verbesserte xfail/skip-Ausdrücke, Geschwindigkeitssteigerungen¶
Willkommen bei pytest-2.0.2, einer Wartungs- und Fehlerbehebungsversion von pytest, einem ausgereiften Testwerkzeug für Python, das CPython 2.4-3.2, Jython und die neuesten PyPy-Interpreter unterstützt. Sehen Sie sich hier die umfangreichen Dokumente mit getesteten Beispielen an.
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 Berichterstatter von Problemen und Personen, die Fragen stellen oder sich beschweren, insbesondere an Jurko für seine Hartnäckigkeit, Laura, Victor und Brianna für ihre Hilfe bei der Verbesserung und Ronny für seinen allgemeinen Rat.
Beste Grüße, holger krekel
Änderungen zwischen 2.0.1 und 2.0.2¶
Problem 32 behoben – Beschleunigung von Testläufen sehr kurzer Testfunktionen durch Reduzierung des relativen Overheads
Problem 30 behoben – Erweiterte xfail/skipif-Handhabung und verbesserte Berichterstattung. Wenn Ihre skip/xfail-Ausdrücke einen Syntaxfehler enthalten, erhalten Sie jetzt aussagekräftige Fehlermeldungen.
Außerdem können Sie jetzt auf Modul-Globals aus xfail/skipif-Ausdrücken zugreifen, sodass dies zum Beispiel jetzt funktioniert.
import pytest import mymodule @pytest.mark.skipif("mymodule.__version__[0] == "1") def test_function(): pass
Diese Testfunktion wird nicht ausgeführt, wenn die Versionszeichenfolge des Moduls nicht mit „1“ beginnt. Beachten Sie, dass die Angabe einer Zeichenfolge anstelle eines booleschen Ausdrucks es py.test ermöglicht, aussagekräftige Informationen bei der Zusammenfassung eines Testlaufs darüber zu berichten, welche Bedingungen zum Überspringen (oder xfail-en) von Tests führen.
Problem 28 behoben – setup_method und pytest_generate_tests arbeiten zusammen. Die Fixture-Methode setup_method wird jetzt auch für Testfunktionsaufrufe aufgerufen, die vom pytest_generate_tests-Hook generiert werden.
Problem 27 behoben – collectonly und Schlüsselwortauswahl (-k) funktionieren jetzt zusammen. Außerdem erhalten Sie, wenn Sie „py.test –collectonly -q“ ausführen, eine flache Liste von Test-IDs, die Sie in die py.test-Kommandozeile einfügen können, um einen bestimmten Test auszuführen.
Problem 25 behoben – Vermeidung gemeldeter Probleme mit –pdb und python3.2/encodings-Ausgabe
Problem 23 behoben – tmpdir-Argument funktioniert jetzt unter Python3.2 und WindowsXP. Ab Python3.2 wird os.symlink möglicherweise unterstützt. Durch die Anforderung einer neueren py-Bibliotheksversion erkennt die py.path.local()-Implementierung dies an.
Tippfehler in der Dokumentation behoben (danke Victor Garcia, Brianna Laugher) und besonderer Dank an Laura Creighton, die auch Teile der Dokumentation überprüft hat.
Leicht falsche Ausgabe der ausführlichen Fortschrittsanzeige für Klassen behoben (danke Amaury)
Genauere (Vermeidung von) Deprecation-Warnungen für node.Class|Function-Zugriffe
Vermeidung von std unittest Assertion-Hilfscode in Tracebacks (danke Ronny)