Unit-Tester er et kraftig verktøy for utviklere for å sikre kodekvaliteten deres. De lar deg teste funksjoner isolert og sørge for at de fungerer som ønsket. I denne guiden vil jeg vise deg hvordan du skriver din første Unit-Test i Python. Du vil ikke bare lære grunnleggende om Unit-Testing, men også hvordan du kan bygge opp testene dine effektivt.

Viktige funn

  • Unit-Tester hjelper med å oppdage feil tidlig og sikre at funksjonene dine fungerer som ønsket.
  • Python-biblioteket unittest tilbyr en enkel måte å implementere tester på.
  • Effektive tester inkluderer både positive og negative scenarier og sjekker datatyper for returverdier.

Trinn-for-trinn-guide

Trinn 1: Forbered prosjektet ditt

Først trenger du en Python-fil hvor funksjonen din er definert. I vårt eksempel kaller vi filen prisberegning.py. Her definerer du en funksjon get_verkaufspreis som tar inn innkjøpsprisen og legger til en margin.

Python Unit-Test grunnleggende: Din innføring

Trinn 2: Opprett en fil for Unit-Testene dine

Opprett deretter en ny fil som skal inneholde testene for denne funksjonen. La oss kalle denne filen prisberegning_test.py. Her vil du jobbe med unittest-modulen.

For å bruke rammeverket importerer du det i begynnelsen av filen din:

import unittest
from prisberegning import get_verkaufspreis
Python Unit-Test grunnlag: Din innføring

Trinn 3: Definer en testklasse

En testklasse bør arve fra unittest.TestCase. Dette lar deg organisere alle testene i en strukturert form. Gi klassen navnet PrisberegningTest for å gjøre det klart hva som testes.

Python Unit-Test grunnlag: Din innføring

Trinn 4: Skriv testene dine

Nå er det på tide å skrive faktiske tester. Begynn med en test som sjekker om returverdien fra get_verkaufspreis har forventet type (float):

class PrisberegningTest(unittest.TestCase): def test_preis_er_float(self): vk = get_verkaufspreis(100) self.assertIsInstance(vk, float)
Python Unit-Test grunnlag: Din innføring

Trinn 5: Test ugyldige innganger

Det er også viktig å teste ugyldige innganger. Legg til en test som sjekker om funksjonen vil kaste et unntak ved ugyldige innganger som None eller en String:

def test_ugyldig_inngang(self): with self.assertRaises(TypeError): get_verkaufspreis("ugyldig")
Python Unit-Test grunnleggende: Din inngang

Trinn 6: Kjør tester

For å kjøre testene dine, kan du gjøre dette enten via terminalen eller direkte i IDE-en din. Hvis du bruker terminalen, kjør følgende:

python -m unittest prisberegning_test.py

I IDE-en din, som PyCharm, kan du bruke kjøre-konfigurasjonen for å utføre testene.

Python enhetstest grunnleggende: Din inngang

Trinn 7: Sjekk resultatene

Når du har kjørt testene med suksess, vil du få en utskrift som informer om alle tester har bestått. Et grønt resultat betyr at koden din fungerer som tiltenkt.

Trinn 8: Utvid testene

I tillegg til de grunnleggende testene kan du legge til flere relevante scenarier for å øke kode-sikkerheten. Husk å teste både positive og negative tilfeller for å sikre at logikken din fungerer i alle situasjoner.

Python Unit-Test grunnleggende: Din inngang

Sammendrag - Første Unit-Test med Python: Grunnleggende og Implementering

Å skrive Unit-Tester er en viktig ferdighet som hjelper deg med å gjøre koden din pålitelig. I denne guiden har du lært hvordan du skriver din første Unit-Test i Python, fra definisjonen av funksjonen til kjøring og sjekk av resultater. Gjennom grundige tester forbedres vedlikeholdbarheten av koden din betydelig, og problemer oppdages tidlig.

Ofte stilte spørsmål

Hvordan lager jeg en Unit-Test i Python?For å lage en Unit-Test i Python, oppretter du en testklasse som arver fra unittest.TestCase, og skriver tester som metoder i denne klassen.

Hvorfor bør jeg skrive Unit-Tester?Unit-Tester hjelper med å oppdage feil tidlig og sikrer at funksjonene dine fungerer som ønsket.

Hvordan kjører jeg Unit-Tester?Du kan kjøre Unit-Tester via terminalen med python -m unittest [filnavn] eller direkte i IDE-en din.

Hva er gode praksiser for Unit-Tester?En god praksis inkluderer både positive og negative testscenarioer samt sjekking av datatyper. Også frekvensen av kjøring er viktig for å umiddelbart sjekke endringer i koden.