„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Unit-Test-Framework – Unittest in Python

Unit-Test-Framework – Unittest in Python

Veröffentlicht am 08.11.2024
Durchsuche:749

Unit test framework - unittest in Python

In Python ist Unittest eines der am häufigsten verwendeten Unit-Test-Frameworks, das in der Standardbibliothek enthalten ist. Es bietet umfangreiche Tools zum Erstellen und Ausführen von Tests sowie zum Berichten von Ergebnissen.

Hauptfunktionen des Unittest Frameworks

  1. Testfall: Ein Testfall wird durch Unterklassenbildung von unittest.TestCase erstellt. Jede Methode in der Klasse, die mit test_ beginnt, wird als Test betrachtet.

  2. Assertions: Das Framework bietet eine Vielzahl von Assertionsmethoden, um auf erwartete Ergebnisse zu prüfen, z. B. „asserEqual“, „assuertTrue“, „assuranceFalse“ usw.

  3. Test Runner: Das Framework enthält einen Test Runner, der die Tests ausführt und Ergebnisse meldet.

Grundstruktur eines Unit-Tests

  1. Unittest-Modul importieren: Beginnen Sie mit dem Importieren der Unittest-Bibliothek.

  2. Erstellen Sie einen Testfall: Definieren Sie eine Klasse, die von unittest.TestCase erbt.

  3. Testmethoden definieren: Jede Methode sollte mit test_ beginnen und Behauptungen enthalten, um das erwartete Verhalten zu überprüfen.

  4. Führen Sie die Tests aus: Verwenden Sie unittest.main(), um die Tests auszuführen, wenn das Skript direkt ausgeführt wird.

Einfaches Beispiel

Hier ist ein einfaches Beispiel, das zeigt, wie man das Unittest-Framework zum Testen einer einfachen Funktion verwendet.

Zu testende Funktion

Erstellen wir zunächst eine einfache Funktion, die wir testen werden:

math_functions.py

def add(a, b):
gib ein b zurück

def subtract(a, b):
return a - b

Komponententest für die Funktion

Jetzt erstellen wir einen Komponententest für die Additions- und Subtraktionsfunktionen:

test_math_functions.py

unittest importieren
from math_functions import add, subtract # Importieren Sie die zu testenden Funktionen

Klasse TestMathFunctions(unittest.TestCase):

def test_add(self):
    self.assertEqual(add(2, 3), 5)          # Test case: 2   3 = 5
    self.assertEqual(add(-1, 1), 0)         # Test case: -1   1 = 0
    self.assertEqual(add(0, 0), 0)          # Test case: 0   0 = 0

def test_subtract(self):
    self.assertEqual(subtract(5, 3), 2)     # Test case: 5 - 3 = 2
    self.assertEqual(subtract(-1, -1), 0)   # Test case: -1 - (-1) = 0
    self.assertEqual(subtract(0, 5), -5)    # Test case: 0 - 5 = -5

if name == 'main':
unittest.main()

Erläuterung des Unit-Tests

  1. Anweisungen importieren:

import unittest: Importiert das Unittest-Modul.

from math_functions import add, subtract: Importiert die Funktionen, die wir testen möchten.

  1. Testfall erstellen:

class TestMathFunctions(unittest.TestCase): Definiert eine Testfallklasse, die von unittest.TestCase erbt.

  1. Testmethoden definieren:

Jede Methode, die mit test_ beginnt, stellt einen separaten Test dar.

In jeder Testmethode prüft self.assertEqual(), ob die Ausgabe der Funktion mit dem erwarteten Wert übereinstimmt.

  1. Durchführen der Tests:

if name == 'main': unittest.main(): Diese Zeile ermöglicht es dem Skript, die Tests auszuführen, wenn es direkt ausgeführt wird.

Durchführen der Tests

Um die Tests auszuführen, führen Sie einfach das Skript test_math_functions.py aus. Sie können dies über die Befehlszeile tun:

python test_math_functions.py

Ausgabe

Wenn alle Tests erfolgreich sind, sehen Sie eine Ausgabe ähnlich dieser:

..

2 Tests in 0,001 Sekunden durchgeführt

OK

Dies zeigt an, dass sowohl die Methoden test_add als auch test_subtract erfolgreich bestanden wurden. Wenn eine Behauptung fehlschlägt, meldet Unittest den Fehler und zeigt an, welcher Test fehlgeschlagen ist und warum.

Abschluss

Das Unittest-Framework in Python bietet eine einfache und effektive Möglichkeit, Unit-Tests zu erstellen und auszuführen. Indem Sie Tests für Ihre Funktionen schreiben, können Sie sicherstellen, dass sie sich wie erwartet verhalten und während Ihres gesamten Entwicklungsprozesses eine hohe Codequalität aufrechterhalten.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/mrcaption49/crud-functionality-in-django-19n2?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3