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