Pytest-Rammeværk: Opsætning og Kørsel af Automatiserede Tests
Installation
Først og fremmest skal vi installere Pytest. Denne proces er ligetil takket være Pythons pakkehåndtering, pip. Åbn din kommandolinje eller terminal, og indtast følgende kommando:
pip install pytest
Det er altid bedst at gøre dette i projektets virtuelle miljø.
Syntaksforklaring
En af grundene til, at Pytest er så populær i Python-fællesskabet, er dets enkle og letlæselige syntaks. I modsætning til nogle andre testframeworks tillader Pytest, at du kan skrive testkode på en meget menneskelig og læsbar måde. Her er et kort overblik:
- Testfiler: pytest genkender filer, der begynder med test_ eller slutter med _test.py;
- Testfunktioner: funktioner, der starter med test_ i disse filer, identificeres automatisk som testfunktioner af pytest;
- Assertioner: brug Pythons indbyggede
assert-udsagn til at verificere, at bestemte betingelser er opfyldt.
Kodeeksempler
Lad os anvende det, vi har lært, med et simpelt eksempel. Antag, at vi har en funktion kaldet add, der lægger to tal sammen. Sådan kan vi skrive en test for den med Pytest:
# content of test_example.py
def add(a, b):
return a + b
def test_add():
assert add(2, 3) == 5
assert add('space', 'ship') == 'spaceship'
Dette kodeeksempel viser to tests: én for tal og én for strenge. Assert-udsagnene kontrollerer, om funktionen opfører sig som forventet.
Sådan køres tests og fortolkes resultater
At køre tests med Pytest er meget enkelt. Naviger til den mappe, der indeholder din testfil, og kør følgende kommando:
pytest
Pytest vil automatisk finde og køre alle tests i mappen og vise en rapport, der viser, om hver test bestod eller fejlede. Her er et eksempel på, hvad du kan se:
===================== test session starts ======================
collected 2 items
test_example.py .. [100%]
====================== 2 passed in 0.12s =======================
Hver prik repræsenterer en bestået test. Pytest giver detaljeret output for fejlede tests, inklusive linjenummer og årsag til fejlen, hvilket gør det nemt at diagnosticere og rette problemer.
===================== test session starts ======================
collected 2 items
test_example.py .F [100%]
====================== FAILURES ==========================
____________________ test_add _________________________
def test_add():
> assert add(2, 3) == 8
E AssertionError: assert 5 == 8
E + where 5 = add(2, 3)
test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================
Fortolkning af resultaterne
- Bestået (.): testen blev gennemført med succes, og alle assertioner var
True; - Fejlet (F): testen indeholder assertioner, der ikke var
True, hvilket indikerer et problem; - Sprunget over (s): testen blev sprunget over, muligvis på grund af en konfigureret betingelse eller afhængighed.
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
Fantastisk!
Completion rate forbedret til 3.13
Pytest-Rammeværk: Opsætning og Kørsel af Automatiserede Tests
Stryg for at vise menuen
Installation
Først og fremmest skal vi installere Pytest. Denne proces er ligetil takket være Pythons pakkehåndtering, pip. Åbn din kommandolinje eller terminal, og indtast følgende kommando:
pip install pytest
Det er altid bedst at gøre dette i projektets virtuelle miljø.
Syntaksforklaring
En af grundene til, at Pytest er så populær i Python-fællesskabet, er dets enkle og letlæselige syntaks. I modsætning til nogle andre testframeworks tillader Pytest, at du kan skrive testkode på en meget menneskelig og læsbar måde. Her er et kort overblik:
- Testfiler: pytest genkender filer, der begynder med test_ eller slutter med _test.py;
- Testfunktioner: funktioner, der starter med test_ i disse filer, identificeres automatisk som testfunktioner af pytest;
- Assertioner: brug Pythons indbyggede
assert-udsagn til at verificere, at bestemte betingelser er opfyldt.
Kodeeksempler
Lad os anvende det, vi har lært, med et simpelt eksempel. Antag, at vi har en funktion kaldet add, der lægger to tal sammen. Sådan kan vi skrive en test for den med Pytest:
# content of test_example.py
def add(a, b):
return a + b
def test_add():
assert add(2, 3) == 5
assert add('space', 'ship') == 'spaceship'
Dette kodeeksempel viser to tests: én for tal og én for strenge. Assert-udsagnene kontrollerer, om funktionen opfører sig som forventet.
Sådan køres tests og fortolkes resultater
At køre tests med Pytest er meget enkelt. Naviger til den mappe, der indeholder din testfil, og kør følgende kommando:
pytest
Pytest vil automatisk finde og køre alle tests i mappen og vise en rapport, der viser, om hver test bestod eller fejlede. Her er et eksempel på, hvad du kan se:
===================== test session starts ======================
collected 2 items
test_example.py .. [100%]
====================== 2 passed in 0.12s =======================
Hver prik repræsenterer en bestået test. Pytest giver detaljeret output for fejlede tests, inklusive linjenummer og årsag til fejlen, hvilket gør det nemt at diagnosticere og rette problemer.
===================== test session starts ======================
collected 2 items
test_example.py .F [100%]
====================== FAILURES ==========================
____________________ test_add _________________________
def test_add():
> assert add(2, 3) == 8
E AssertionError: assert 5 == 8
E + where 5 = add(2, 3)
test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================
Fortolkning af resultaterne
- Bestået (.): testen blev gennemført med succes, og alle assertioner var
True; - Fejlet (F): testen indeholder assertioner, der ikke var
True, hvilket indikerer et problem; - Sprunget over (s): testen blev sprunget over, muligvis på grund af en konfigureret betingelse eller afhængighed.
Tak for dine kommentarer!