Wprowadzenie do fixtures

Wprowadzenie do testowania w Pythonie

Alexander Levin

Data Scientist

Czym jest fixture

  • Fixture – przygotowane środowisko do wykonania testu
  • Konfiguracja fixture – proces przygotowania środowiska i zasobów wymaganych przez jeden lub więcej testów

Wyobraź sobie przygotowanie pikniku:

  1. Zaproś znajomych i przygotuj jedzenie (to właśnie robią fixtures)
  2. Baw się dobrze!
  3. Posprzątaj
Wprowadzenie do testowania w Pythonie

Po co używać fixtures

Fixtures pomagają:

  • Ułatwić konfigurację testów
  • Odizolować przygotowanie środowiska od testów
  • Uczynić kod fixture wielokrotnego użytku
Wprowadzenie do testowania w Pythonie

Przykład fixture: przegląd

Załóżmy, że mamy:

  • zmienną list w Pythonie o nazwie data
  • data = [0, 1, 1, 2, 3, 5, 8, 13, 21]

Chcemy sprawdzić, że:

  • Zawiera 9 elementów
  • Zawiera elementy 5 i 21
Wprowadzenie do testowania w Pythonie

Przykład fixture: 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
Wprowadzenie do testowania w Pythonie

Przykład fixture: wynik

Wynik przykładu: wynik przykładu fixture

Wprowadzenie do testowania w Pythonie

Jak używać fixtures

Aby użyć fixture, należy:

  1. Przygotować oprogramowanie i testy
  2. Znaleźć „przygotowanie środowiska"
  3. Utworzyć fixture:
    • Zadeklarować dekorator @pytest.fixture
    • Zaimplementować funkcję fixture
  4. Użyć utworzonego fixture:
    • Przekazać nazwę fixture do funkcji testowej
    • Uruchomić testy!
Wprowadzenie do testowania w Pythonie

Podsumowanie

Omówiliśmy fixtures w testowaniu:

  • Fixture – przygotowane środowisko do wykonania testu
  • Fixtures ułatwiają konfigurację testów i izolują ją od funkcji testowych
  • Prosty przykład: przygotowanie list w Pythonie
  • Fixture definiuje się przez deklarację @pytest.fixture
    • a następnie funkcji fixture
  • Nazwy fixtures są używane w testach jako zmienne
Wprowadzenie do testowania w Pythonie

Czas na ćwiczenia!

Wprowadzenie do testowania w Pythonie

Preparing Video For Download...