Testy jednostkowe z pytest

Wprowadzenie do testowania w Pythonie

Alexander Levin

Data Scientist

Czym jest test jednostkowy

Jednostka - najmniejszy testowalny element oprogramowania.

  • Przykłady jednostek: funkcje, metody, klasy, moduły itp.

$$

Testowanie jednostkowe - metoda testowania oprogramowania.

  • Pozwala sprawdzić poprawność działania jednostki.

$$

Przypadek testowy - zestaw danych wejściowych i oczekiwanych wyników.

  • Opisuje konkretny fragment problemu.
Wprowadzenie do testowania w Pythonie

Dlaczego warto stosować testy jednostkowe

Testy jednostkowe - stanowią podstawę testowania „szerszego obrazu" oprogramowania.

Zastosowania:

  • Po znalezieniu błędów
  • W trakcie tworzenia oprogramowania
  • Po wprowadzeniu zmian
Wprowadzenie do testowania w Pythonie

Jak tworzyć testy jednostkowe

Krok po kroku:

  1. Wybór jednostek do przetestowania
  2. Definiowanie przypadków testowych (część twórcza):
    • „Jakie są możliwe wyniki działania jednostki?"
    • „W jaki sposób można użyć jednostki?"
    • „Jak jednostka powinna zachowywać się w każdym z tych przypadków?"
  3. Napisanie kodu dla każdego przypadku testowego
  4. Uruchomienie testów i analiza wyników
Wprowadzenie do testowania w Pythonie

Tworzenie testu jednostkowego: przykład

Testowana jednostka:

# Function for a sum of elements
def sum_of_arr(array:list) -> int:
    return sum(array)

Przypadki testowe:

  1. Dane wejściowe to lista liczb (zgodnie z oczekiwaniem) – powinien zwrócić sum
  2. Dane wejściowe to pusta lista – powinien zwrócić 0
  3. Dane wejściowe to lista z jedną number – powinien zwrócić number
Wprowadzenie do testowania w Pythonie

Tworzenie testu jednostkowego: kod

# Test Case 1: regular array
def test_regular():
    assert sum_of_arr([1, 2, 3]) == 6
    assert sum_of_arr([100, 150]) == 250
# Test Case 2: empty list
def test_empty():
    assert sum_of_arr([]) == 0
# Test Case 3: one number
def test_one_number():
    assert sum_of_arr([10]) == 10
    assert sum_of_arr([0]) == 0
Wprowadzenie do testowania w Pythonie

Podsumowanie

Test jednostkowy - sprawdza, czy jednostka działa poprawnie.

Przypadek testowy - dane wejściowe i wyjściowe opisujące fragment problemu.

Zastosowania:

  • Po znalezieniu błędów
  • W trakcie tworzenia oprogramowania
  • Po wprowadzeniu zmian

Definiowanie przypadków testowych - wymaga kreatywności.

Wprowadzenie do testowania w Pythonie

Czas na ćwiczenia!

Wprowadzenie do testowania w Pythonie

Preparing Video For Download...