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