Führen Sie Unit-Tests in Python aus
- Was ist Unit-Testing
- Erstellen und definieren Sie einen Testfall in Python
- Führen Sie einen einzelnen Test mit Python aus
- Führen Sie mehrere Tests in Python aus
Bei dem als Unit-Testing bezeichneten Software-Entwicklungsprozess werden die kleineren, unabhängig testbaren Komponenten einer Anwendung, sogenannte Units, auf Funktionalität untersucht. Das Python-Modul unittest
ermöglicht es uns, Unit-Tests durchzuführen.
In diesem Artikel werden Unit-Tests und deren Durchführung in Python erläutert.
Was ist Unit-Testing
Plan, Cases und Scripting sowie der eigentliche Unit-Test sind die drei Phasen eines Unit-Tests.
In der ersten Phase wird der Unit-Test geschrieben und überprüft. Der nächste Schritt ist die Erstellung von Testfällen und Skripten.
Erstellen und definieren Sie einen Testfall in Python
Bevor Sie beginnen, denken Sie daran, dass wir in diesem Artikel Python Version 2.7 und höher verwenden. Wir empfehlen jedoch, die neueste Version von Python 3.x zu verwenden.
Ein Testfall ist eine Reihe von Vorgängen auf einem System, um festzustellen, ob es die Softwareanforderungen erfüllt und ordnungsgemäß funktioniert. Das Ziel eines Testfalls besteht darin, festzustellen, ob verschiedene Designmerkmale wie erwartet funktionieren, und sicherzustellen, dass das System alle geltenden Standards, Empfehlungen und Kundenanforderungen erfüllt.
Das Erstellen eines Testfalls kann auch dabei helfen, Schwachstellen oder Fehler im System zu identifizieren. In Python können wir mit der Unterfunktion TestCase
einen Testfall erstellen, den wir später testen werden.
Importieren Sie jedoch zuerst das Modul unittest
, um das Modul für unseren Code verfügbar zu machen.
Beispielcode:
import unittest
def sample_test(sample_list):
if len(sample_list) > 10:
raise ValueError("A maximum of 10 objects can be added to the container")
return {"container_a": sample_list}
class TestAddObjectToContainer(unittest.TestCase):
def test_add_object_to_container_success(self):
actual = add_object_to_container(sample_list=["A", "B"])
expected = {"container_a": ["A", "B"]}
self.assertEqual(actual, expected)
Führen Sie einen einzelnen Test mit Python aus
Um beispielsweise unseren entwickelten Testfall zu testen, können wir den folgenden Befehl ausführen, sobald die erforderlichen Einstellungen vorgenommen wurden.
Beispielcode:
python -m unittest main.py
Wenn wir diesen Befehl ausführen, erhalten wir die folgende Ausgabe.
Oder so ähnlich, wenn bei unserem Test ein Fehler auftritt.
Führen Sie mehrere Tests in Python aus
Wenn wir beispielsweise mehrere Python-Dateien pro Test erstellt und in einem Verzeichnis abgelegt haben, können wir sie zusammen mit der Methode discover
ausführen. Um die Testdateien automatisch zu erkennen, müssen wir sie beginnend mit dem Schlüsselwort test
benennen, wie unsere zuvor erstellte Python-Datei main.py
.
python -m unittest discover
Der obige Befehl erkennt alle Dateien, deren Namen mit test
beginnen, und führt sie aus.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn