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