Sobes.tech
Intern

Kas ir vienības tests?

sobes.tech AI

Atbilde no AI

Vienības tests — tas ir programmatūras testēšanas paņēmiens, kurā atsevišķas, minimālās iespējamās koda daļas (vienības, parasti funkcijas, metodes vai klases) tiek izolētas un pārbaudītas, vai tās atbilst gaidītajai uzvedībai.

Vienības testēšanas mērķi:

  • Loģikas verifikācija: Konkrētas koda daļas pareizas darbības pārbaude izolācijā.
  • Agrīna defektu atklāšana: Kļūdu identificēšana izstrādes laikā, kad to labošana ir vislētāk.
  • Refaktoringa atvieglošana: Nodrošināt, ka izmaiņas kodā nesagrauj esošo funkcionalitāti.
  • Dokumentācija: Vienības testi var kalpot kā koda piemērs.
  • Koda dizaina uzlabošana: Rakstot testējamu kodu, bieži tiek panākts modulārāks un saprotamāks dizains.

Galvenās vienības testu īpašības:

  • Automatizācija: Tie tiek veikti automātiski ar testēšanas rīkiem.
  • Izolācija: Viena vienības testēšana, minimizējot atkarības no ārējām sistēmām (datu bāzes, tīkls, failu sistēma), bieži ar moku vai stubu izmantošanu.
  • Ātrums: Tie jāizpilda ļoti ātri, lai tos varētu bieži palaist (piemēram, katru koda izmaiņu vai pirms kommitēšanas).
  • Deterministiskums: Testa rezultātam jābūt vienādam katrā izpildes reizē, ja testētais kods nav mainījies.

Piemērs Python ar pytest:

def add(a, b):
    """Saskaita divus skaitļus."""
    return a + b

def test_add_positive_numbers():
    // Pārbaude, vai saskaita divus pozitīvus skaitļus
    assert add(2, 3) == 5

def test_add_negative_numbers():
    // Pārbaude, vai saskaita divus negatīvus skaitļus
    assert add(-1, -5) == -6

def test_add_zero():
    // Pārbaude, vai saskaita ar nulli
    assert add(0, 7) == 7