Führen Sie Unit-Tests in Python aus

Marion Paul Kenneth Mendoza 15 Februar 2024
  1. Was ist Unit-Testing
  2. Erstellen und definieren Sie einen Testfall in Python
  3. Führen Sie einen einzelnen Test mit Python aus
  4. Führen Sie mehrere Tests in Python aus
Führen Sie Unit-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.

Test durchführen - Erfolg

Oder so ähnlich, wenn bei unserem Test ein Fehler auftritt.

Test ausführen - fehlgeschlagen

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 Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - Python Unit Test