Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Pytest-ramverk: Konfigurering och Körning av Automatiserade Tester | Behärska Pytest-ramverket
Python Strukturell Programmering

bookPytest-ramverk: Konfigurering och Körning av Automatiserade Tester

Installation

Först och främst behöver vi installera Pytest. Denna process är enkel tack vare Pythons pakethanterare, pip. Öppna din kommandorad eller terminal och skriv in följande kommando:

pip install pytest

Det är alltid bäst att göra detta i projektets virtuella miljö.

Syntaxförklaring

En av anledningarna till att Pytest är så uppskattat i Python-gemenskapen är dess enkla och lättlästa syntax. Till skillnad från vissa andra testningsramverk tillåter Pytest att testkod skrivs på ett mycket läsbart sätt. Här är en snabb översikt:

  • Testfiler: pytest känner igen filer som börjar med test_ eller slutar med _test.py;
  • Testfunktioner: funktioner som börjar med test_ i dessa filer identifieras automatiskt som testfunktioner av pytest;
  • Assertioner: använd Pythons inbyggda assert-sats för att verifiera att specifika villkor är uppfyllda.

Kodexempel

Låt oss tillämpa det vi har lärt oss med ett enkelt exempel. Antag att vi har en funktion som heter add som adderar två tal. Så här kan vi skriva ett test för 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'

Detta kodexempel visar två tester: ett för tal och ett för strängar. Assert-satserna kontrollerar om funktionen beter sig som förväntat.

Hur man kör tester och tolkar resultat

Att köra tester med Pytest är mycket enkelt. Navigera till katalogen som innehåller din testfil och kör följande kommando:

pytest

Pytest kommer automatiskt att upptäcka och köra alla tester i katalogen och visa en rapport som visar om varje test passerade eller misslyckades. Här är ett exempel på vad du kan se:

===================== test session starts ======================
collected 2 items

test_example.py ..                                         [100%]

====================== 2 passed in 0.12s =======================

Varje punkt representerar ett godkänt test. Pytest ger detaljerad utdata för misslyckade tester, inklusive radnummer och orsaken till felet, vilket gör det enkelt att diagnostisera och åtgärda problem.

===================== 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 ======================

Tolkning av resultaten

  • Godkänd (.): testet kördes framgångsrikt och alla assertioner var True;
  • Misslyckad (F): testet innehåller assertioner som inte var True, vilket indikerar ett problem;
  • Hoppad (s): testet hoppades över, kanske på grund av en konfigurerad villkor eller beroende.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

bookPytest-ramverk: Konfigurering och Körning av Automatiserade Tester

Svep för att visa menyn

Installation

Först och främst behöver vi installera Pytest. Denna process är enkel tack vare Pythons pakethanterare, pip. Öppna din kommandorad eller terminal och skriv in följande kommando:

pip install pytest

Det är alltid bäst att göra detta i projektets virtuella miljö.

Syntaxförklaring

En av anledningarna till att Pytest är så uppskattat i Python-gemenskapen är dess enkla och lättlästa syntax. Till skillnad från vissa andra testningsramverk tillåter Pytest att testkod skrivs på ett mycket läsbart sätt. Här är en snabb översikt:

  • Testfiler: pytest känner igen filer som börjar med test_ eller slutar med _test.py;
  • Testfunktioner: funktioner som börjar med test_ i dessa filer identifieras automatiskt som testfunktioner av pytest;
  • Assertioner: använd Pythons inbyggda assert-sats för att verifiera att specifika villkor är uppfyllda.

Kodexempel

Låt oss tillämpa det vi har lärt oss med ett enkelt exempel. Antag att vi har en funktion som heter add som adderar två tal. Så här kan vi skriva ett test för 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'

Detta kodexempel visar två tester: ett för tal och ett för strängar. Assert-satserna kontrollerar om funktionen beter sig som förväntat.

Hur man kör tester och tolkar resultat

Att köra tester med Pytest är mycket enkelt. Navigera till katalogen som innehåller din testfil och kör följande kommando:

pytest

Pytest kommer automatiskt att upptäcka och köra alla tester i katalogen och visa en rapport som visar om varje test passerade eller misslyckades. Här är ett exempel på vad du kan se:

===================== test session starts ======================
collected 2 items

test_example.py ..                                         [100%]

====================== 2 passed in 0.12s =======================

Varje punkt representerar ett godkänt test. Pytest ger detaljerad utdata för misslyckade tester, inklusive radnummer och orsaken till felet, vilket gör det enkelt att diagnostisera och åtgärda problem.

===================== 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 ======================

Tolkning av resultaten

  • Godkänd (.): testet kördes framgångsrikt och alla assertioner var True;
  • Misslyckad (F): testet innehåller assertioner som inte var True, vilket indikerar ett problem;
  • Hoppad (s): testet hoppades över, kanske på grund av en konfigurerad villkor eller beroende.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 2
some-alt