Pytest-rammeverk: Oppsett og Kjøring av Automatiserte Tester
Installasjon
Først må vi installere Pytest. Denne prosessen er enkel takket være Pythons pakkebehandler, pip. Åpne kommandolinjen eller terminalen, og skriv inn følgende kommando:
pip install pytest
Det er alltid best å gjøre dette i prosjektets virtuelle miljø.
Syntaksforklaring
En av grunnene til at Pytest er så populær i Python-miljøet, er den enkle og lettleste syntaksen. I motsetning til enkelte andre testverktøy lar Pytest deg skrive testkode på en svært lesbar måte. Her er en kort oversikt:
- Testfiler: pytest gjenkjenner filer som begynner med test_ eller slutter med _test.py;
- Testfunksjoner: funksjoner som starter med test_ i disse filene blir automatisk identifisert som testfunksjoner av pytest;
- Påstander: bruk Pythons innebygde
assert-setning for å verifisere at bestemte betingelser er oppfylt.
Kodeeksempler
La oss bruke det vi har lært med et enkelt eksempel. Anta at vi har en funksjon kalt add som legger sammen to tall. Slik 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 kodeeksempelet viser to tester: én for tall og én for strenger. Assert-setningene sjekker om funksjonen oppfører seg som forventet.
Hvordan kjøre tester og tolke resultater
Å kjøre tester med Pytest er svært enkelt. Naviger til katalogen som inneholder testfilen din og kjør følgende kommando:
pytest
Pytest vil automatisk oppdage og kjøre alle tester i katalogen, og vise en rapport som viser om hver test besto eller feilet. Dette kan du se:
===================== test session starts ======================
collected 2 items
test_example.py .. [100%]
====================== 2 passed in 0.12s =======================
Hver prikk representerer en bestått test. Pytest gir detaljert utdata for feilede tester, inkludert linjenummer og årsak til feilen, noe som gjør det enkelt å finne 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 ======================
Tolking av resultater
- Bestått (.): testen ble kjørt uten feil, og alle påstander var
True; - Feilet (F): testen inneholder påstander som ikke var
True, noe som indikerer et problem; - Hoppet over (s): testen ble hoppet over, kanskje på grunn av en konfigurert betingelse eller avhengighet.
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
Can you explain more about how to structure larger test suites with Pytest?
What are some common Pytest plugins or features I should know about?
How do I handle setup and teardown for tests in Pytest?
Fantastisk!
Completion rate forbedret til 3.13
Pytest-rammeverk: Oppsett og Kjøring av Automatiserte Tester
Sveip for å vise menyen
Installasjon
Først må vi installere Pytest. Denne prosessen er enkel takket være Pythons pakkebehandler, pip. Åpne kommandolinjen eller terminalen, og skriv inn følgende kommando:
pip install pytest
Det er alltid best å gjøre dette i prosjektets virtuelle miljø.
Syntaksforklaring
En av grunnene til at Pytest er så populær i Python-miljøet, er den enkle og lettleste syntaksen. I motsetning til enkelte andre testverktøy lar Pytest deg skrive testkode på en svært lesbar måte. Her er en kort oversikt:
- Testfiler: pytest gjenkjenner filer som begynner med test_ eller slutter med _test.py;
- Testfunksjoner: funksjoner som starter med test_ i disse filene blir automatisk identifisert som testfunksjoner av pytest;
- Påstander: bruk Pythons innebygde
assert-setning for å verifisere at bestemte betingelser er oppfylt.
Kodeeksempler
La oss bruke det vi har lært med et enkelt eksempel. Anta at vi har en funksjon kalt add som legger sammen to tall. Slik 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 kodeeksempelet viser to tester: én for tall og én for strenger. Assert-setningene sjekker om funksjonen oppfører seg som forventet.
Hvordan kjøre tester og tolke resultater
Å kjøre tester med Pytest er svært enkelt. Naviger til katalogen som inneholder testfilen din og kjør følgende kommando:
pytest
Pytest vil automatisk oppdage og kjøre alle tester i katalogen, og vise en rapport som viser om hver test besto eller feilet. Dette kan du se:
===================== test session starts ======================
collected 2 items
test_example.py .. [100%]
====================== 2 passed in 0.12s =======================
Hver prikk representerer en bestått test. Pytest gir detaljert utdata for feilede tester, inkludert linjenummer og årsak til feilen, noe som gjør det enkelt å finne 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 ======================
Tolking av resultater
- Bestått (.): testen ble kjørt uten feil, og alle påstander var
True; - Feilet (F): testen inneholder påstander som ikke var
True, noe som indikerer et problem; - Hoppet over (s): testen ble hoppet over, kanskje på grunn av en konfigurert betingelse eller avhengighet.
Takk for tilbakemeldingene dine!