Unit-Tests er et kraftfuldt værktøj for udviklere til at sikre kvaliteten af deres kode. De gør det muligt for dig at teste funktioner isoleret og sikre, at de fungerer som ønsket. I denne vejledning viser jeg dig, hvordan du skriver din første Unit-Test i Python. Du lærer ikke kun grundlæggende om Unit-Testing, men også hvordan du effektivt kan opbygge dine tests.

Vigtigste indsigter

  • Unit-Tests hjælper med at opdage fejl tidligt og sikrer, at dine funktioner fungerer som ønsket.
  • Python-biblioteket unittest giver en enkel måde at implementere tests på.
  • Effektive tests inkluderer både positive og negative scenarier og tjekker datatyperne af returværdierne.

Trin-for-trin vejledning

Trin 1: Forbered dit projekt

Først skal du have en Python-fil, hvor din funktion er defineret. I vores eksempel kalder vi filen prisberegning.py. Her definerer du en funktion get_verkaufspris, der tager indkøbsprisen og tilføjer en margen.

Python Unit-Test grundlæggende: Din indføring

Trin 2: Opret en fil til dine Unit-Tests

Opret derefter en ny fil, som skal indeholde tests for denne funktion. Lad os kalde denne fil prisberegning_test.py. Her vil du arbejde med unittest-modulet.

For at bruge frameworket importerer du det i begyndelsen af din fil:

import unittest
from prisberegning import get_verkaufspris
Python Unit-Test grundlag: Din indføring

Trin 3: Definer en testklasse

En testklasse skal arve fra unittest.TestCase. Dette giver dig mulighed for at organisere alle tests i en struktureret form. Navngiv klassen til PrisberegningTest for at klargøre, hvad der testes.

Python Unit-Test grundlæggende: Din indgang

Trin 4: Skriv dine tests

Nu er det tid til at skrive faktiske tests. Begynd med en test der tjekker, om returværdien fra get_verkaufspris har den forventede type (float):

class PrisberegningTest(unittest.TestCase): def test_pris_er_float(self): vk = get_verkaufspris(100) self.assertIsInstance(vk, float)
Python Unit-Test grundlæggende: Din indgang

Trin 5: Test ugyldige input

Det er også vigtigt at teste ugyldige input. Tilføj en test der tjekker, om funktionen kaster en undtagelse ved ugyldige input som None eller en streng:

def test_ugyldig_input(self): with self.assertRaises(TypeError): get_verkaufspris("ugyldig")
Python Unit-Test grundlæggende: Din opstart

Trin 6: Udfør tests

For at udføre dine tests kan du gøre dette enten via terminalen eller direkte i din IDE. Hvis du bruger terminalen, skal du køre følgende:

python -m unittest prisberegning_test.py

I din IDE, som PyCharm, kan du bruge køre-konfigurationen til at udføre tests.

Python Unit-Test grundlæggende: Din indtræden

Trin 7: Tjek resultaterne

Når du har udført testsene med succes, vil du modtage en output, der viser, om alle tests er bestået. Et grønt resultat betyder, at din kode fungerer som planlagt.

Trin 8: Udvid testsene

Ud over de grundlæggende tests kan du tilføje flere relevante scenarier for at øge sikkerheden af koden. Overvej at teste både positive og negative tilfælde for at sikre, at din logik fungerer i alle situationer.

Python Unit-Test grundlæggende: Din indgang

Opsummering - Første Unit-Test med Python: Grundlæggende og implementering

Skrivning af Unit-Tests er en vigtig færdighed, der hjælper dig med at gøre din kode pålidelig. I denne vejledning har du lært, hvordan du skriver den første Unit-Test i Python, fra definitionen af funktionen til udførelsen og kontrol af resultaterne. Gennem grundige tests forbedres vedligeholdelsen af din kode betydeligt, og problemer opdages tidligt.

Ofte stillede spørgsmål

Hvordan opretter jeg en Unit-Test i Python?For at oprette en Unit-Test i Python, opret en testklasse, der arver fra unittest.TestCase, og skriv tests som metoder i denne klasse.

Hvorfor skal jeg skrive Unit-Tests?Unit-Tests hjælper med at opdage fejl tidligt og sikrer, at dine funktioner fungerer som ønsket.

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

Hvad er gode praksisser for Unit-Tests?En god praksis inkluderer både positive og negative testsituationer samt kontrol af datatyper. Regelmæssighed i udførelsen er også vigtig for straks at kontrollere ændringer i koden.