Einführung in das Testen mit Python
Swipe um das Menü anzuzeigen
Tests sind eine grundlegende Praxis in der Softwareentwicklung, um sicherzustellen, dass der Code wie erwartet funktioniert und auch bei Weiterentwicklungen zuverlässig bleibt. Automatisierte Tests ermöglichen es, den Code automatisch zu überprüfen, anstatt sich auf zeitaufwändige und fehleranfällige manuelle Prüfungen zu verlassen. Durch das Schreiben von Tests können Änderungen, die bestehende Funktionalitäten beeinträchtigen, schnell erkannt werden, wodurch eine sichere Umstrukturierung oder Erweiterung des Codes möglich ist.
Eine der beliebtesten Methoden zum Testen ist die testgetriebene Entwicklung (TDD). Bei TDD beginnt man damit, einen Test zu schreiben, der ein gewünschtes Verhalten oder eine Funktion beschreibt, bevor der eigentliche Code implementiert wird. Dieser Ansatz fördert ein sorgfältiges Nachdenken über Anforderungen und Sonderfälle im Voraus und führt zu saubererem und besser wartbarem Code. Nach dem Schreiben des Tests wird der minimal notwendige Code implementiert, um den Test zu bestehen. Anschließend wird der Code zur Verbesserung der Lesbarkeit oder Effizienz überarbeitet, wobei die Tests erneut ausgeführt werden, um sicherzustellen, dass nichts beschädigt wurde. Dieser Zyklus – Test schreiben, Code schreiben, Refaktorieren – unterstützt den schrittweisen Aufbau robuster Software.
Tests dienen nicht nur dazu, Fehler zu finden. Sie fungieren auch als lebendige Dokumentation des Codes und erleichtern es anderen (und dem eigenen zukünftigen Ich), die Funktionsweise des Codes nachzuvollziehen. Automatisierte Tests sind besonders wertvoll bei der Zusammenarbeit im Team oder bei großen Projekten, da sie ein Sicherheitsnetz bieten, das zu Experimenten und zuversichtlichen Änderungen am Code ermutigt.
12345# A function to add two numbers def add(a, b): return a + b print(add(2, 3))
# A basic test case for the add function using unittest
import unittest
class TestAddFunction(unittest.TestCase):
def test_add_positive_numbers(self):
self.assertEqual(add(2, 3), 5)
def test_add_zero(self):
self.assertEqual(add(0, 5), 5)
def test_add_negative_numbers(self):
self.assertEqual(add(-1, -1), -2)
Der bereitgestellte Code definiert eine Testfallklasse namens TestAddFunction unter Verwendung des in Python integrierten unittest-Frameworks. Innerhalb dieser Klasse befinden sich drei Testmethoden:
test_add_positive_numbersprüft, ob der Aufruf vonadd(2, 3)den Wert5zurückgibt;test_add_zeroüberprüft, ob das Addieren von Null und Fünf mitadd(0, 5)den Wert5ergibt;test_add_negative_numbersbestätigt, dass das Addieren von zwei negativen Zahlen,add(-1, -1), den Wert-2liefert.
Jede Testmethode verwendet self.assertEqual, um das tatsächliche Ergebnis der Funktion add mit dem erwarteten Wert zu vergleichen. Falls ein Test fehlschlägt, meldet das Framework dies und hilft so, Fehler frühzeitig zu erkennen.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen