Python

Python Unittest-Tutorial

Python Unittest-Tutorial

Unit-Tests ist eine Testmethode, die in der Softwareentwicklung für einzelne Einheiten eines beliebigen Codes verwendet wird. Benutzer können die einzelnen Tests durchführen, um den Status der Quelle und die Eignung des Codes für die Verwendung zu ermitteln. Auf diese Weise können Benutzer die Codequalität testen.

Die Tests werden durchgeführt, sobald der Entwicklungsprozess abgeschlossen ist. Nutzer können auch mit dem Testen beginnen, wenn das Testskript anhand der Testkriterien überprüft werden soll. Von Entwicklern wird erwartet, dass sie die manuellen Typen des Quellcodes schreiben. Im Allgemeinen ist das manuelle Schreiben von Unit-Testing-Codes eine hektische Aufgabe, aber in Python wird dies mit einer integrierten Funktion namens unittest erledigt.

Gerätetest

Das Testen in Python erfolgt durch das Unittest-Framework. Unit-Tests machen den Code auch in Zukunft sicher und einfach zu verwenden. Benutzer können diese Fälle normalerweise nicht vorhersagen, können sie aber leicht angehen. Unittest kann entweder das ganze Modul, eine bestimmte Funktion und eine ganze Schnittstelle (Klasse/Modul) sein.

So schreiben Sie Unit-Tests für Ihren Code?

Um die Unit-Tests für Ihren Code zu schreiben, beginnen Sie immer mit der kleinsten Unit, die aus Ihrem gesamten Code getestet werden kann, und gehen Sie dann weiter zu anderen Units. Auf diese Weise überprüfen Sie, wie die kleinste ausgewählte Einheit interagiert, um einen ganzen Komponententest zu erstellen.

Das Unit-Testing-Framework von Python wurde unter Berücksichtigung von Javas Junit . gebildet. Es hat die gleichen Funktionen wie Unit-Tests in anderen Sprachen. Das Framework für Unit-Tests in Python hilft bei Automatisierungstests, der Einrichtung der gemeinsamen Nutzung, der Aggregation vieler Tests zu einem großen Set und unabhängigen Tests

Beispiele:

Im Beispiel überprüfen wir nun den Code, um die Summe im Python-Code mit der Funktion sum() herauszufinden. Die Antwort auf diese Summe muss 12 sein, was richtig ist.

>>> assert sum([2, 4, 6]) == 12, "Sollte gleich 12 sein"

Auf der anderen Seite, wenn wir versuchen, einen falschen Ausgabewert zu schreiben, bei dem die Summe () falsch ist, werden die Ergebnisse fehlschlagen. Es wird einen AssertionError zurückgeben. Die von uns angegebene Ausgabe ist falsch, dh 12, und die tatsächliche Ausgabe muss 6 sein, daher wurde dieser Fehler zurückgegeben.

>>> assert sum([2, 2, 2]) == 12, "Sollte gleich 12 sein"

Anstatt die REPL zu testen, werden wir jetzt eine neue Python-Datei einfügen und sie benennen test_sum.py

>> def testValue_sum():
assert sum([2, 4, 6]) == 12, "Sollte gleich 12 sein"
if __name__ == "__main__":
testValue_sum()
print("Alles wurde korrekt übergeben")

Nachdem Sie den Testfall geschrieben haben, können Sie auf das Verzeichnis zugreifen, das die test_sum enthält.py-Datei und geben Sie dann Folgendes ein:

$ python test_sum.py

Ausgabe:

Der Ausgabewert wird, wenn er dem angezeigten ähnlich ist, den korrekten Wert bestätigen.

Lassen Sie uns eine weitere Datei erstellen für .py um die Summe zu testen. Das Beispiel wird im Code angezeigt und kann durch Kopieren als Beispiel verwendet werden:

def testValue_sum():
assert sum([2, 4, 6]) == 12, "Sollte gleich 12 sein"
def testValue_sum_tuple():
assert sum((1, 1, 1)) == 6, "Sollte gleich 6 sein"
if __name__ == "__main__":
testValue_sum()
testValue_sum_tuple()
print("Alles wurde korrekt übergeben")

Diesmal werden wir die Datei wieder benennen test_sum.py 

Der erste Codeblock ist korrekt, während der zweite Codeblock falsch ist und einen Fehler aufweist, daher wird unsere Ausgabe dasselbe zurückgeben.

Jetzt gehen wir zurück in das Verzeichnis des Projekts, in dem wir die gespeichert haben .py-Datei, und testen Sie dann die Datei mit dem folgenden Befehl:

$ python test_sum.py

Ausgabe:

Da der Eingabecode dieses Mal einen Fehler aufwies, wird als Antwort erwartet, dass er den Assertionsfehler zurückgibt.

Beispiel für die Verwendung von Unittest:

Unittest-Anforderungen sind, dass Benutzer ihre Tests als verschiedene Methoden in Klassen einteilen können, Benutzer eine Reihe von Assertionsmethoden verwenden können und die TestCase-Klasse anstelle der Assert-Anweisung verwendet werden kann.

Benutzer können das in der vorherigen Hälfte besprochene Beispiel in einen Unittest-Testfall umwandeln.

Importieren Sie zuerst die unitest-Bibliothek. Als nächstes müssen Sie eine TestSum aus verschiedenen Klassen erstellen.

Erstellen Sie eine neue Datei für den unten beschriebenen Code:

Unittest importieren
Klasse TestSum(unittest.Testfall):
def testValue_sum(self):
selbst.assertEqual(sum([2, 4, 6]), 12, "Sollte gleich 12 sein")
def testValue_sum_tuple(self):
selbst.assertEqual(sum((1, 1, 1)), 6, "Sollte gleich 6 sein")
if __name__ == '__main__':
Gerätetest.Main()

Nachdem Sie diesen Befehl ausgeführt haben, hat die Ausgabe einen Punkt. Das bedeutet Erfolg und ein F bedeutet Misserfolg.

Wir haben also Erfolg und ein anderer ist ein Misserfolg.

Ausgabe:

Schreiben des ersten Tests:

Erstellen Sie einen neuen Projektordner und erstellen Sie dann einen neuen Ordner, wir nennen ihn sum_file. Erstellen Sie darin eine Datei und nennen Sie sie __init__.py.  Erstellen Sie den Projektordner wie folgt:

Projekt/

└── Summe_Datei/
└── __init__.py

Dann müssen Sie my_sum/__init__ öffnen.py und erstellen Sie eine neue Funktion sum(). Es ist iterierbar (eine Liste, ein Tupel oder ein Set), um viele Werte hinzuzufügen:

def summe (arg):
total_ValueCalculated = 0
für val in arg:
total_ValueCalculated += val
total_ValueCalculated zurückgeben

Als nächstes müssen Sie a . erstellen Prüfung Datei. Beginnen Sie mit dem Schreiben von Tests und erstellen Sie eine Testdatei namens testDatei.py. Um die Anwendung zu importieren, die getestet werden muss, platzieren Sie die Datei testDatei.py über deinem Ordner des Pakets. Das folgende wird das Gesamtbild Ihres Verzeichnisses sein:

Projekt/

├── Summe_Datei/
│ └── __init__.py
|
└── Testdatei.py

Wie bereits erwähnt, können Sie zum Testen des Codes den folgenden Befehl im Terminalfenster/in der Befehlszeile verwenden:

$ python -m Unittest-Test

Fazit

Der Artikel beschreibt den Prozess des Unit-Tests in Python. Das Testen ist eine der nützlichen Funktionen der Softwareentwicklung, die in der Lage ist, die Codes in kleinere Teile aufzuteilen und sie dann einzeln auszuprobieren. Benutzer können auch die gesamten Testmuster/Einheitencodes in einer großen Sammlung zusammenstellen. Unittest ist eine Funktion, die in Python verwendet wird, um das Testen einfach zu nutzen.

Mit WinMouse können Sie die Mauszeigerbewegung auf einem Windows-PC anpassen und verbessern improve
Wenn Sie die Standardfunktionen Ihres Mauszeigers verbessern möchten, verwenden Sie Freeware WinMouse. Es fügt weitere Funktionen hinzu, damit Sie das...
Linker Mausklick funktioniert nicht unter Windows 10
Wenn Sie eine dedizierte Maus mit Ihrem Laptop oder Desktop-Computer verwenden, aber die linker Mausklick funktioniert nicht unter Windows 10/8/7 aus ...
Cursor springt oder bewegt sich zufällig während der Eingabe in Windows 10
Wenn Sie feststellen, dass Ihr Mauszeiger während der Eingabe auf einem Windows-Laptop oder -Computer automatisch und zufällig springt oder sich von s...