Łańcuchowanie żądań fixture

Wprowadzenie do testowania w Pythonie

Alexander Levin

Data Scientist

Czym jest łańcuchowe żądanie

  • Łańcuchowanie żądań fixture – funkcja pytest umożliwiająca fixture korzystanie z innej fixture
  • Tworzy kompozycję fixture

fixture wywołuje inną fixture

Wprowadzenie do testowania w Pythonie

Dlaczego i kiedy stosować

Łańcuchowanie żądań fixture pomaga:

  • Ustalać zależności między fixture
  • Zachować modularność kodu

Kiedy jest przydatne:

  • Gdy kilka fixture zależy od siebie nawzajem
Wprowadzenie do testowania w Pythonie

Przykład łańcuchowych żądań

# 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!"
Wprowadzenie do testowania w Pythonie

Jak stosować łańcuchowe żądania

  1. Przygotowanie testowanego programu
  2. Przygotowanie funkcji testujących
  3. Przygotowanie fixture pytest
  4. Przekazanie nazwy fixture do sygnatury innej fixture
# Fixture requesting other fixture
@pytest.fixture
def process_data(setup_data):
    return setup_data.upper()
Wprowadzenie do testowania w Pythonie

Podsumowanie

  • Łańcuchowanie żądań fixture to funkcja umożliwiająca fixture korzystanie z innej fixture (tworzenie kompozycji fixture)
  • Pomaga podzielić kod na funkcje i zachować jego modularność
  • Przykład zastosowania: etapy potoku danych
  • Aby użyć łańcuchowych żądań, należy przekazać nazwę fixture do sygnatury innej fixture
Wprowadzenie do testowania w Pythonie

Czas na ćwiczenia!

Wprowadzenie do testowania w Pythonie

Preparing Video For Download...