2017-07-27 6 views
-1

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

+0

Bitte Code in Frage teilen . –

+0

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 –

+0

Einheit Testfälle können mit Unittest, Pytest, Doctest Module geschrieben werden. –

Antwort

0

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

+0

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. –

+1

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. –

Verwandte Themen