Introduktion till fixtures

Introduktion till testning i Python

Alexander Levin

Data Scientist

Vad är en fixture

  • Fixture – en förberedd miljö som används vid testkörning
  • Fixture-setup – processen att förbereda miljön och de resurser som krävs av ett eller flera tester

Tänk dig förberedelserna inför en picknick:

  1. Bjud in vänner och förbered maten (det är vad fixtures gör)
  2. Ha kul!
  3. Städa upp
Introduktion till testning i Python

Varför behöver vi fixtures

Fixtures hjälper till att:

  • Förenkla testuppsättningen
  • Isolera miljöförberedelsen från testet
  • Göra fixture-koden återanvändbar
Introduktion till testning i Python

Fixture-exempel: översikt

Anta att vi har:

  • en Python-variabel av typen list med namnet data
  • data = [0, 1, 1, 2, 3, 5, 8, 13, 21]

Och vi vill testa att:

  • listan innehåller 9 element
  • listan innehåller elementen 5 och 21
Introduktion till testning i Python

Fixture-exempel: kod

import pytest

# Fixture decorator
@pytest.fixture
# Fixture for data initialization
def data():
    return [0, 1, 1, 2, 3, 5, 8, 13, 21]

def test_list(data):
    assert len(data) == 9
    assert 5 in data
    assert 21 in data
Introduktion till testning i Python

Fixture-exempel: utdata

Utdata från exemplet: utdata från fixture-exemplet

Introduktion till testning i Python

Hur man använder fixtures

Så här använder du en fixture:

  1. Förbered programvaran och testerna
  2. Identifiera "miljöförberedelsen"
  3. Skapa en fixture:
    • Deklarera dekoratorn @pytest.fixture
    • Implementera fixture-funktionen
  4. Använd den skapade fixture:
    • Skicka fixture-namnet till testfunktionen
    • Kör testerna!
Introduktion till testning i Python

Sammanfattning

Vi har lärt oss om test-fixtures:

  • Fixture – en förberedd miljö som används vid testkörning
  • Fixtures förenklar testuppsättningen och isolerar den från testfunktionerna
  • Enkelt exempel: förberedelse av en Python-list
  • Definiera en pytest-fixture med dekoratorn @pytest.fixture
    • följt av en fixture-funktion
  • Fixture-namn används som variabler i testerna
Introduktion till testning i Python

Nu kör vi en övning!

Introduktion till testning i Python

Preparing Video For Download...