Introduction to Testing in Python
Stryg for at vise menuen
Testning er en grundlæggende praksis inden for softwareudvikling, der sikrer, at din kode opfører sig som forventet og forbliver pålidelig, efterhånden som den udvikler sig. Automatiseret testning gør det muligt at kontrollere din kode automatisk i stedet for at stole på manuelle kontroller, som er tidskrævende og fejlbehæftede. Ved at skrive tests kan du hurtigt opdage, når ændringer ødelægger eksisterende funktionalitet, og du kan trygt refaktorere eller udvide din kode.
En af de mest populære tilgange til testning er test-drevet udvikling (TDD). I TDD starter du med at skrive en test, der beskriver en ønsket adfærd eller funktion, før du skriver koden til at implementere den. Denne proces opfordrer dig til at tænke grundigt over krav og grænsetilfælde på forhånd, hvilket fører til renere og mere vedligeholdelig kode. Efter at have skrevet testen implementerer du den minimale kode, der kræves for at testen består, og derefter refaktorerer du koden for klarhed eller effektivitet, mens du kører testene igen for at sikre, at intet går i stykker. Denne cyklus – skriv en test, skriv koden, refaktorer – hjælper dig med at opbygge robust software trin for trin.
Testning handler ikke kun om at finde fejl. Det fungerer også som levende dokumentation for din kode, hvilket gør det lettere for andre (og dig selv i fremtiden) at forstå, hvordan din kode skal fungere. Automatiserede tests er især værdifulde, når man samarbejder i teams eller arbejder på store projekter, da de giver et sikkerhedsnet, der opmuntrer til eksperimentering og trygge kodeændringer.
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)
Den medfølgende kode definerer en testklasse ved navn TestAddFunction ved hjælp af Pythons indbyggede unittest-framework. Inde i denne klasse findes tre testmetoder:
test_add_positive_numberskontrollerer, at kaldetadd(2, 3)returnerer5;test_add_zeroverificerer, at addition af nul og fem medadd(0, 5)returnerer5;test_add_negative_numbersbekræfter, at addition af to negative tal,add(-1, -1), returnerer-2.
Hver testmetode anvender self.assertEqual til at sammenligne det faktiske resultat fra funktionen add med den forventede værdi. Hvis en test fejler, vil frameworket rapportere det, hvilket hjælper med at opdage fejl tidligt.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat