Sobes.tech
Intern

Czym jest test jednostkowy?

sobes.tech AI

Odpowiedź od AI

Test jednostkowy to metoda testowania oprogramowania, w której izoluje się i sprawdza minimalne możliwe części kodu (jednostki, zazwyczaj funkcje, metody lub klasy), aby potwierdzić, że działają zgodnie z oczekiwaniami.

Cele testów jednostkowych:

  • Weryfikacja logiki: Sprawdzenie poprawności działania konkretnego fragmentu kodu w izolacji.
  • Wczesne wykrywanie błędów: Identyfikacja błędów na etapie rozwoju, gdy ich naprawa jest najtańsza.
  • Ułatwienie refaktoryzacji: Gwarancja, że zmiany w kodzie nie zepsują istniejącej funkcjonalności.
  • Dokumentacja: Testy jednostkowe mogą służyć jako przykład użycia kodu.
  • Poprawa projektu kodu: Pisanie testowalnego kodu często prowadzi do bardziej modułowego i zrozumiałego projektu.

Kluczowe cechy testów jednostkowych:

  • Automatyzacja: Są wykonywane automatycznie przez frameworki testowe.
  • Izolacja: Testowanie jednej jednostki, minimalizując zależności od systemów zewnętrznych (bazy danych, sieć, system plików), często z użyciem mocków lub stubów.
  • Szybkość wykonania: Powinny być wykonywane bardzo szybko, aby można je było uruchamiać często (np. przy każdej zmianie kodu lub przed commit).
  • Deterministyczność: Wynik testu powinien być taki sam za każdym razem, jeśli kod testowany się nie zmienił.

Przykład w Pythonie z użyciem pytest:

def add(a, b):
    """Dodaje dwie liczby."""
    return a + b

def test_add_positive_numbers():
    # Sprawdzenie dodawania dwóch liczb dodatnich
    assert add(2, 3) == 5

def test_add_negative_numbers():
    # Sprawdzenie dodawania dwóch liczb ujemnych
    assert add(-1, -5) == -6

def test_add_zero():
    # Sprawdzenie dodawania z zerem
    assert add(0, 7) == 7