Wie schreibe ich ein Programm, um 2 Zahlen zusammen mit Ausnahmebehandlung und Testfälle in Python 3.6 zu teilen? Ich habe gelesen, dass dies durch den Import von Doctest möglich ist.Testfälle in Python mit Doctest
Antwort
Doctest
ist ein Modul in der Python-Programmiersprache Standard-Bibliothek, die die einfache Generierung von Tests basierend auf der Ausgabe von der Standard-Python-Interpreter-Shell, Ausschneiden und Einfügen in Doc-Strings ermöglicht.
können Sie Ihren Code schreiben wie:
divide.py
def divide(a, b):
"""
>>> divide(8, 4)
2
>>> divide(-12, 3)
-4
>>> divide(4, 0)
"Denominator can't be zero"
"""
try:
result = a//b
except ZeroDivisionError:
result = "Denominator can't be zero"
return result
Jedes '>>>' Linie, als ob in einem Python-Shell ausgeführt wird, und gilt als Test. Die nächste Zeile, wenn nicht '>>>' ist die erwartete Ausgabe der vorherigen Zeile. Wenn irgendetwas nicht exakt übereinstimmt (einschließlich Leerzeichen), schlägt der Test fehl.
Ausführen des doctest
Sie führen doctest wie folgt aus (die Befehle im Terminal schreiben):
$ python3 -m doctest -v doctest_trial.py
oder einfach
$ python3 -m doctest doctest_trial.py
https://i.stack.imgur.com/IuVBF.jpg Das ist mein Code. Ich hoffe, dass dies eine korrekte Implementierung ist, weil es gut läuft. Das einzige Problem ist, dass ich den Testfall außerhalb der Funktion geschrieben habe. –
Nun ja, die 'Tests' sollten innerhalb der Funktion geschrieben werden. Auch die Antwort ist noch eine andere Möglichkeit, 'Doctest' zu verwenden. Im Allgemeinen bevorzuge ich diesen Weg. Anstatt den Code zu importieren, können wir ihn beim Ausführen des Skripts in der Shell verwenden. –
- 1. Clojure entspricht Python doctest?
- 2. Entspricht Python DocTest in Delphi?
- 3. Python doctest: Gesamten Block überspringen?
- 4. Sonderzeichen und Zeilenumbrüche in Python Doctest
- 5. Testfälle innerhalb von Python-Klassen
- 6. Doctest mit Escape-Zeichen
- 7. Wie benutzt man Doctest mit einer dekorierten Funktion in Python?
- 8. Zeilenfortsetzung/Umbruch in doctest
- 9. Python doctest Zeichenfolge zu entkommen Ausgabe
- 10. Kann Python Doctest einige Ausgabezeilen ignorieren?
- 11. Verwendung von Doctest "Ergebnis Parser" innerhalb Unit-Tests in Python?
- 12. Python: Wie kann ich eine Klasse in einem Doctest definieren?
- 13. Android automatisierte Testfälle in Python mit appium Rahmen
- 14. doctest zum Extrahieren Sekunden
- 15. doctest nicht erkennen __future __ Division
- 16. Kann Python Doctest auf einer Jupyter-Zellfunktion ausgeführt werden?
- 17. Python 2.7, 3.x doctest Kompatibilität vs FileNotFoundError
- 18. Wie floats Ergebnisse mit doctest zu testen?
- 19. Wie aktiviert Ellipsen beim Aufruf von Python doctest
- 20. Python Doctest schlägt auf 0,0! = -0,0 - was gibt?
- 21. Testfälle in einer separaten Datei für Vorlagen-Testfälle
- 22. Testfälle wurde in angular2
- 23. Wie zählen Testfälle mit Pytest?
- 24. doctest für dynamisch erstellte Objekte
- 25. Dynamische Testfälle
- 26. Testfälle mit JIRA oder Confluence
- 27. Wie führe ich mehrere Python-Testfälle in einer Schleife aus?
- 28. Anwendungsfälle für doctest erweiterte API
- 29. Können Sie überprüfen, dass eine Ausnahme mit Doctest in Python ausgelöst wird?
- 30. Wie testen Ausnahmen mit Doctest in Python 2.x und 3.x?
Bitte Code in Frage teilen . –
Drei Dinge erforderlich in Frage 1) Code, um zwei Zahlen zu teilen 2) Ausnahmebehandlung in Python 3) Schreibeinheit Testfälle für den obigen Code –
Einheit Testfälle können mit Unittest, Pytest, Doctest Module geschrieben werden. –