1, das integrierte Modul doctest
doctest wird python
in einer Standard - Bibliothek gebaut, es den Code ähnlich die interaktiven Sitzung in Form von Kommentaren finden, und prüfen , ob sie richtig sind;
(1) standardmäßig pytest
sammeln automatisch die Namen aller gefundenen test*.txt
Dateien ausschließen, und Anrufe doctest
führen sie, doctest
die Standard - Dateicodierung ist UTF-8 , können Sie pytest.ini
verwenden doctest_encoding
eine neue Encoding - Optionen angeben;
(2) Saiten durch Schreiben von Dokumentation
--doctest-modules
Findet alle passenden Namen *.py
von Dateien, Dokumente in Form einer interaktiven Sitzung Reihe ähnlicher Kommentare gesammelt und zu jedem Dokument Zeichenfolge als Anwendungsfall ausgeführt wird , so dass die Umsetzung der beiden Prüfungen, von denen ist ein Testdokument;
Wenn Sie möchten , pytest --doctest-modules
das Recht relevante Kommentare zu sammeln , müssen die folgenden Bedingungen erfüllen:
- Die Dateinamen entsprechen
*.py
den Regeln, aber tun müssen , nicht zu treffentest_*.py
oder*_test.py
Regeln; - Docstring Kommentare müssen dem ähnlich sein
python
in Form von Kommentaren interaktive Sitzung;
Hinzufügen --doctest-Module können Parametereintrag zusammengefasst werden, wenn in jeder Ausführung ohne pytest.ini --doctest-Module konfiguriert
(3) angeben, zusätzliche Artikel
- doctest gebaut: https://docs.python.org/3/library/doctest.html#option-flags
- pytest kommt
ALLOW_BYTES
: Wenn ohne Berücksichtigung der Ausgabezeichenkette alsb
PräfixALLOW_UNICODE
: Am Ausgang, mit Ausnahme der Zeichenfolge Ähnlichu
Präfix;NUMBER
: Um die Situation zu vermeiden, die den Fehler verursacht hat:
2, weiter auf Scheitern
In der Standardeinstellung für ein Dokument Test gegeben, pytest
in dem Gesicht des ersten Punktes des Scheiterns zurückzuziehen, jedoch können Sie --doctest-continue-on-failure
Zeilenoptionen gebieten, erlaubt fortzusetzen;
3 ist das Ausgabeformat bezeichnet
Dokumente Test fehlschlägt, können Sie das Testausgabeformat der folgenden Weisen ändern:
- pytest --doctest-Module --doctest-Bericht keine
- pytest --doctest-Module --doctest-Bericht Udiff
- pytest --doctest-Module --doctest-Bericht Cdiff
- pytest --doctest-Module --doctest-Bericht ndiff
- pytest --doctest-Module --doctest-Bericht only_first_failure
4 verwendet, das Dokument in der Testvorrichtung
Durch die getfixture
Verwendung von Zeichenketten in dem Dokument erlaubt fixture
:
5, Dokumententestnamespace
doctest_namespace fixture
Der Betrieb kann verwendet werden , doctest
einige Informationen Namespace getestet zu injizieren, die ein Standard - Dictionary - Objekt ist;
6, Überspringen des Testdokumentes
Durch pytest.skip
die Testdokumentation Skipping;