Python Doctest

Python Doctest
„Wir wissen, dass Pythons DocString weitere Details zu seinen Funktionen und Klassen enthält. Die Doctest -Pakete schreiben das Programm, das mit >>> beginnt und die Ergebnisse mit dem kontrastiert, was erwartet wurde. Durch die Ausführung von Illustrationen, die in der Spezifikation enthalten sind und bestätigen, dass sie die gewünschten Ergebnisse liefern. Es extrahiert Muster aus dem Referenztext, führt sie aus und kontrastiert dann die Ergebnisse mit dem Zielwert.

Die Tatsache, dass es keine API gegeben hat, um sich in der grundlegendsten Version auswendig zu lernen. Das Erstellen von Doktorstests könnte schwieriger sein, als nur ein Einittest zu konsumieren, auch wenn Instanzen komplizierter werden, da es keine Ressourcenabwicklung gibt.”

Beispiel 01

Beginnen wir jetzt mit dem ersten Beispiel dieses Artikels. Wir haben dieses Beispiel mit dem Import des "Doctest" -Moduls in der ersten Zeile begonnen. Danach haben wir eine neue Funktion definiert, "Testen" mit dem Parameter „Args“ des Zeigers, der auf die Verwendung von Ganzzahlwerten für die Testmethode hinweist. Innerhalb dieser Methode haben wir die dreifachen Anführungszeichen verwendet, um die Ganzzahlwerte an die Methode „Test“ zu übergeben, um zu testen, ob die Summe aller übergebenen Werte einem bestimmten Wert entspricht, der in der nächsten Zeile definiert ist.

Wir haben also die 5 Werte an die Testmethode übergeben und erwartet das Ergebnis von 49 als Summe. Dann haben wir einen weiteren Test ausprobiert, indem wir drei Zahlen an die Testfunktion übergeben haben, die das Ergebnis von 22 erwarteten, und im letzten wurden erneut 5 Werte übergeben, um das Ergebnis von 15 zu erwarten. Die Summe () -Funktion hat die an die Testfunktion übergebenen Werte als Argument übernommen und die Summe von allen zurückgegeben. Die TestMod () -Funktion des Doctest -Moduls von Python wurde hier verwendet, um auszusagen, dass der berechnete Wert mit dem erwarteten Wert übereinstimmt. Wenn nicht, wirft es einen Fehler auf unsere Konsole.

Lassen Sie uns dieses Programm im Spyder 3 -Tool speichern und ausführen, um zu sehen, was im Testteil passiert. Der detaillierte Code dieses Beispiels ist im Screenshot zu sehen.

Nach der Ausführung dieses Python -Code haben wir die folgende Ausgabe angezeigt. Es zeigt, dass das Programm versucht hat, die 5 Werte zu testen und 49 als Summe zu erwarten. Der zurückgegebene Wert „OK“ zeigt, dass der Test bestanden und validiert wurde. Die zurückgegebene Summe beträgt 49. Der nächste Test wurde auf drei Werte angewendet, die 22 als Summe erwarteten, während der Test fehlschlug, weil die Summe, die wir erhalten haben.

Nach Verwendung der Doctest -Testfunktion bei den nächsten 5 Werten haben wir den Test wie erwartet bestanden, und der zurückgegebene Summenwert beträgt 15. Am Ende wurden wir mit dem Ergebnis gemeldet, dass insgesamt 2 Tests aus 3 bestanden wurden. Im Screenshot wird das Ergebnis dieses Beispiels gezeigt.

Beispiel 02

Wir haben ein anderes Beispiel verwendet, um das Doctest -Modul in unserem Python -Code zu verwenden, um einen anderen mathematischen Zustand auszusagen. Wir haben dieses Beispiel mit dem Import der Testmod -Funktion des Doctest -Pakets in Python gestartet. Die Funktion „Fakt“ wurde definiert, indem ein variabler Wert „V“ als Argument genommen wurde. Die dreifachen Zitate, gefolgt vom >>> -Scheichen. Während das erwartete Ergebnis in diesem Fall 24 und 3 sein würde.

Die Bedingung „Wenn“ wurde verwendet, um zu prüfen, ob der Wert der an die Tatsachenfunktion übergebenen Variablen gleich oder weniger als 1 ist und 1 zurückgibt. Andernfalls würde die Faktorial eines Wertes „V“ von den Formeln "V*Fakt (V-1)" berechnet werden.

Die Funktion main () ist hier, um die Funktion tesmod () unter Verwendung der darin enthaltenen Funktion "Fakten" zu verwenden. Es wäre zu prüfen, dass die Faktorial sowohl der Werte "4" als auch "2" an die Tatsachen () -Funktionen 24 und 3 sein würde oder nicht. Dieses Programm wurde gespeichert und ist jetzt bereit für den Einsatz. Der detaillierte Code dieses Beispiels ist im Screenshot zu sehen.

Nachdem wir es ausgeführt haben, müssen wir wissen, dass das von der Funktion zurückgegebene Fakultät von 4 24 ist, was dem erwarteten Ergebnis entspricht, i.e. Der Test wurde in diesem Fall bestanden, ich.e. 24. Für den zweiten Wert ist der Test fehlgeschlagen, da das erwartete Faktor von 2 3 3 ist, während das tatsächliche Ergebnis 2 sein muss. In dem Bericht wurde also angezeigt, dass 1 Test bestanden wurde, während 1 fehlgeschlagen ist. Im Screenshot wird das Ergebnis dieses Beispiels gezeigt.

Beispiel 03

In diesem Beispiel haben wir die TestMod -Funktion aus dem Doctest -Modul importiert und die Funktion check () verwendet, um zu überprüfen, ob das Multiplikationsergebnis zweier Werte wie erwartet oder nicht. Im ersten Funktionsaufruf haben wir 5 und 3 übergeben und 15 als Multiplikationsergebnis erwartet, während wir im zweiten Funktionsaufruf Charakter M und Ganzzahl 3 übergeben haben, während wir „MMM“ als Multiplikationsergebnis erwartet haben.

Das Multiplikationsergebnis „M*r“ würde an die aufrufende Main () -Funktion zurückgegeben. In der Funktion main () wird nur die Testmod -Funktion aufgerufen, um 2 Tests durchzuführen. Dieses Programm ist jetzt abgeschlossen und bereit, ausgeführt zu werden. Der detaillierte Code dieses Beispiels ist im Screenshot zu sehen.

Bei der Ausführung haben wir die gleichen Werte für beide Multiplikationsergebnisse wie das erwartete Ergebnis, i.e. 15 und "mmm". In diesem Fall wurde kein Testfall gescheitert, ich.e. Beide Tests werden bestanden.

Abschluss

Dies ist es und alles über die Verwendung des Doctest -Pakets von Python in unseren Codes, um Programme zu testen. Zu diesem Zweck haben wir drei verschiedene Beispiele ausprobiert, um den resultierenden Wert mit dem erwarteten Wert der Funktionen zu vergleichen, indem wir einige Argumente annehmen. Alle drei Beispiele sind einfach und einfach auf dem Spyder 3 -Tool zu tun, und Sie können leicht die Doktor lernen, indem Sie sie praktizieren.