Introductie tot fixtures

Introductie tot testen in Python

Alexander Levin

Data Scientist

Wat is een fixture

  • Fixture: een voorbereide omgeving voor het uitvoeren van een test
  • Fixture-setup: het voorbereiden van de omgeving en resources die één of meer tests nodig hebben

Stel je de voorbereiding van een picknick voor:

  1. Nodig vrienden uit en maak eten klaar (dat is wat fixtures doen)
  2. Veel plezier!
  3. Opruimen
Introductie tot testen in Python

Waarom hebben we fixtures nodig

Fixtures helpen:

  • Setup eenvoudiger te maken
  • De test te isoleren van de omgevingsvoorbereiding
  • Fixturecode herbruikbaar te maken
Introductie tot testen in Python

Fixturevoorbeeld: overzicht

Stel, we hebben:

  • een Python-list met de naam data
  • data = [0, 1, 1, 2, 3, 5, 8, 13, 21]

En we willen testen dat:

  • hij 9 elementen bevat
  • hij de elementen 5 en 21 bevat
Introductie tot testen in Python

Fixturevoorbeeld: code

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
Introductie tot testen in Python

Fixturevoorbeeld: uitvoer

Uitvoer van het voorbeeld: uitvoer van het fixture-voorbeeld

Introductie tot testen in Python

Hoe gebruik je fixtures

Zo gebruik je een fixture:

  1. Bereid software en tests voor
  2. Zoek de "omgeving-voorbereiding"
  3. Maak een fixture:
    • Declareer de @pytest.fixture-decorator
    • Implementeer de fixture-functie
  4. Gebruik de fixture:
    • Geef de fixturenaam door aan de testfunctie
    • Voer de tests uit!
Introductie tot testen in Python

Samenvatting

We leerden over testfixtures:

  • Fixture: een voorbereide omgeving voor het uitvoeren van een test
  • We gebruiken fixtures om setup te vereenvoudigen en te scheiden van testfuncties
  • Eenvoudig voorbeeld: een Python-list voorbereiden
  • Definieer een pytest-fixture met @pytest.fixture
    • gevolgd door een fixture-functie
  • Fixturenamen worden in tests als variabelen gebruikt
Introductie tot testen in Python

Laten we oefenen!

Introductie tot testen in Python

Preparing Video For Download...