Kedja fixture-anrop

Introduktion till testning i Python

Alexander Levin

Data Scientist

Vad är ett kedjanrop

  • Kedja fixture-anrop – en pytest-funktion som låter en fixture använda en annan fixture
  • Skapar en sammansättning av fixtures

fixture anropar en annan fixture

Introduktion till testning i Python

Varför och när använda det

Kedjade fixture-anrop hjälper till att:

  • Etablera beroenden mellan fixtures
  • Hålla koden modulär

När det kan vara användbart:

  • När flera fixtures beror på varandra
Introduktion till testning i Python

Exempel på kedjanrop

# Fixture that is requested by the other fixture
@pytest.fixture
def setup_data():
    return "I am a fixture!"
# Fixture that is requested by the test function
@pytest.fixture
def process_data(setup_data):
    return setup_data.upper()
# The test function
def test_process_data(process_data):
    assert process_data == "I AM A FIXTURE!"
Introduktion till testning i Python

Hur du använder kedjanrop

  1. Förbered programmet du vill testa
  2. Förbered testfunktionerna
  3. Förbered pytest-fixturerna
  4. Skicka fixture-namnet till den andra fixturens signatur
# Fixture requesting other fixture
@pytest.fixture
def process_data(setup_data):
    return setup_data.upper()
Introduktion till testning i Python

Sammanfattning

  • Kedjade fixture-anrop är en funktion som låter en fixture använda en annan fixture (skapar fixture-sammansättningar)
  • Det hjälper till att dela upp koden i funktioner och hålla den modulär
  • Exempel på användningsfall: stegen i en datapipeline
  • För att använda kedjade fixture-anrop skickar du fixture-namnet till den andra fixturens signatur
Introduktion till testning i Python

Nu kör vi en övning!

Introduktion till testning i Python

Preparing Video For Download...