Sobes.tech
Intern

Mis on üksuse test?

sobes.tech AI

Vastus AI-lt

Ühiku test on tarkvara testimise meetod, mille käigus eraldatakse ja kontrollitakse üksikud, minimaalsete võimalike koodiosade (ühikud, tavaliselt funktsioonid, meetodid või klassid) vastavust oodatavale käitumisele.

Ühiku testimise eesmärgid:

  • Loogika verifitseerimine: Konkreetse koodilõigu õige toimimise kontroll isolatsioonis.
  • Väldib vigu varakult: Vea avastamine arendusfaasis, kui selle parandamine on kõige odavam.
  • Refaktoreerimise lihtsustamine: Tagada, et koodi muudatused ei rikuks olemasolevat funktsionaalsust.
  • Dokumentatsioon: Ühiku testid võivad olla näide koodi kasutamisest.
  • Koodi disaini parandamine: Testitava koodi kirjutamine sageli viib modulaarsema ja arusaadavama disainini.

Ühiku testide peamised omadused:

  • Automatiseerimine: Teostatakse automaatselt testiraamistike poolt.
  • Isolatsioon: Ühe ühiku testimine, minimeerides sõltuvusi välissüsteemidest (andmebaasid, võrk, failisüsteem), sageli kasutades mokke või stube.
  • Kiirus: Tuleb käivitada väga kiiresti, et neid saaks sageli käivitada (näiteks iga koodimuudatuse või enne commit'i).
  • Deterministlikkus: Testi tulemus peaks iga kord samasugune olema, kui testitav kood pole muutunud.

Näide Pythonis kasutades pytest:

def add(a, b):
    """Liidab kaks arvu."""
    return a + b

def test_add_positive_numbers():
    // Kontroll positiivsete arvude liitmist
    assert add(2, 3) == 5

def test_add_negative_numbers():
    // Kontroll negatiivsete arvude liitmist
    assert add(-1, -5) == -6

def test_add_zero():
    // Kontroll nulliga liitmist
    assert add(0, 7) == 7