Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Pytest-rammeverk: Oppsett og Kjøring av Automatiserte Tester | Beherske Pytest-Rammeverket
Python Strukturert Programmering

bookPytest-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.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

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?

bookPytest-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.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 2
some-alt