Sobes.tech
Intern

Čo je to jednotkový test?

sobes.tech AI

Odpoveď od AI

Jednotkový test je metóda testovania softvéru, pri ktorej sú izolované a overované minimálne možné časti kódu (jednotky, zvyčajne funkcie, metódy alebo triedy), aby sa zabezpečilo, že zodpovedajú očakávanému správaniu.

Ciele jednotkového testovania:

  • Overenie logiky: Kontrola správnosti konkrétnej časti kódu v izolácii.
  • Včasné odhalenie chýb: Identifikácia chýb v ranom štádiu vývoja, keď je ich oprava najlacnejšia.
  • Uľahčenie refaktorovania: Zabezpečenie, že zmeny v kóde neporušia existujúcu funkcionalitu.
  • Dokumentácia: Jednotkové testy môžu slúžiť ako príklad použitia kódu.
  • Zlepšenie návrhu kódu: Písanie testovateľného kódu často vedie k modulárnejšiemu a zrozumiteľnejšiemu dizajnu.

Kľúčové vlastnosti jednotkových testov:

  • Automatizácia: Sú automaticky spúšťané testovacími rámcami.
  • Izolácia: Testovanie jednej jednotky s minimalizáciou závislostí od externých systémov (databázy, sieť, súborový systém), často s použitím mockov alebo stubov.
  • Rýchlosť: Musia byť veľmi rýchle, aby ich bolo možné spúšťať často (napríklad pri každej zmene kódu alebo pred commitom).
  • Deterministickosť: Výsledok testu by mal byť rovnaký pri každom spustení, ak sa testovaný kód nezmenil.

Príklad v Pythone s pytest:

def add(a, b):
    """Sčíta dve čísla."""
    return a + b

def test_add_positive_numbers():
    # Testovanie sčítania dvoch kladných čísel
    assert add(2, 3) == 5

def test_add_negative_numbers():
    # Testovanie sčítania dvoch záporných čísel
    assert add(-1, -5) == -6

def test_add_zero():
    # Testovanie sčítania s nulou
    assert add(0, 7) == 7