Introduksjon til testing i Python
Sveip for å vise menyen
Testing er en grunnleggende praksis innen programvareutvikling, som sikrer at koden din oppfører seg som forventet og forblir pålitelig etter hvert som den utvikles. Automatisert testing gjør det mulig å kontrollere koden automatisk, i stedet for å stole på manuelle kontroller som er tidkrevende og utsatt for feil. Ved å skrive tester kan du raskt oppdage når endringer ødelegger eksisterende funksjonalitet, og trygt refaktorere eller utvide koden din.
En av de mest populære tilnærmingene til testing er testdrevet utvikling (TDD). I TDD begynner du med å skrive en test som beskriver ønsket oppførsel eller funksjon før du skriver koden som skal implementere den. Denne prosessen oppmuntrer deg til å tenke nøye gjennom krav og hjørnetilfeller på forhånd, noe som fører til renere og mer vedlikeholdbar kode. Etter å ha skrevet testen, implementerer du den minimale koden som kreves for å bestå testen, og deretter refaktorerer du koden for klarhet eller effektivitet, og kjører testene igjen for å sikre at ingenting går i stykker. Denne syklusen – skrive en test, skrive koden, refaktorere – hjelper deg å bygge robust programvare trinnvis.
Testing handler ikke bare om å finne feil. Det fungerer også som levende dokumentasjon for koden din, noe som gjør det enklere for andre (og deg selv i fremtiden) å forstå hvordan koden skal fungere. Automatiserte tester er spesielt verdifulle når man samarbeider i team eller arbeider på store prosjekter, da de gir et sikkerhetsnett som oppmuntrer til eksperimentering og trygge kodeendringer.
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 oppgitte koden definerer en testklasse kalt TestAddFunction ved bruk av Pythons innebygde unittest-rammeverk. Inne i denne klassen finner du tre testmetoder:
test_add_positive_numberssjekker at kall påadd(2, 3)returnerer5;test_add_zeroverifiserer at å legge sammen null og fem medadd(0, 5)returnerer5;test_add_negative_numbersbekrefter at å legge sammen to negative tall,add(-1, -1), returnerer-2.
Hver testmetode bruker self.assertEqual for å sammenligne det faktiske resultatet fra add-funksjonen med forventet verdi. Hvis noen tester feiler, vil rammeverket rapportere det, noe som hjelper deg å oppdage feil tidlig.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår