Sobes.tech
Intern

Co je to jednotkový test?

sobes.tech AI

Odpověď od AI

Jednotkový test je metoda testování softwaru, při níž jsou izolovány a ověřovány minimální možné části kódu (jednotky, obvykle funkce, metody nebo třídy), aby bylo zajištěno, že odpovídají očekávanému chování.

Cíle jednotkového testování:

  • Ověření logiky: Kontrola správnosti konkrétní části kódu v izolaci.
  • Včasné odhalení chyb: Identifikace chyb v rané fázi vývoje, kdy je jejich oprava nejlevnější.
  • Usnadnění refaktoringu: Zajištění, že změny v kódu nezpůsobí poruchu stávající funkčnosti.
  • Dokumentace: Jednotkové testy mohou sloužit jako příklad použití kódu.
  • Zlepšení návrhu kódu: Psát testovatelný kód často vede k modulárnějšímu a srozumitelnějšímu designu.

Klíčové vlastnosti jednotkových testů:

  • Automatizace: Spouštěny automaticky testovacími frameworky.
  • Izolace: Testování jedné jednotky s minimalizací závislostí na externích systémech (databáze, síť, souborový systém), často s použitím mocků nebo stubů.
  • Rychlost: Měly by být velmi rychlé, aby je bylo možné spouštět často (například při každé změně kódu nebo před commitem).
  • Determinismus: Výsledek testu by měl být stejný při každém spuštění, pokud se testovaný kód nezměnil.

Příklad v Pythonu s pytest:

def add(a, b):
    """Sečte dvě čísla."""
    return a + b

def test_add_positive_numbers():
    # Testování sčítání dvou kladných čísel
    assert add(2, 3) == 5

def test_add_negative_numbers():
    # Testování sčítání dvou záporných čísel
    assert add(-1, -5) == -6

def test_add_zero():
    # Testování sčítání s nulou
    assert add(0, 7) == 7