Sobes.tech
Intern

Šta je jedinica test?

sobes.tech АИ

Одговор од АИ

Јединично тестирање је метода тестирања софтвера у којој се изолују и проверавају минимални могући делови кода (јединице, обично функције, методе или класе) како би се осигурало да одговарају очекиваном понашању.

Циљеви јединичног тестирања:

  • Провера логике: Проверити исправност одређеног дела кода у изолацији.
  • Рана детекција грешака: Идентификовање грешака у фази развоја, када је њихово исправљање најјефтиније.
  • Олакшавање рефакторинга: Гарантовати да промене у коду неће сломити постојећу функционалност.
  • Документација: Јединични тестови могу служити као пример коришћења кода.
  • Побољшање дизајна кода: Писање тестирачког кода често доводи до модуларнијег и разумљивијег дизајна.

Кључне карактеристике јединичних тестова:

  • Аутоматизација: Извршавају се аутоматски од стране тест оквира.
  • Изолација: Тестирање једне јединице, минимизирајући зависности од спољашњих система (базе података, мрежа, датотечни систем), често коришћењем мокова или стабова.
  • Брзина извршења: Треба да се извршавају веома брзо, како би се могли често покретати (на пример, при свакој промени кода или пре комита).
  • Детерминизам: Резултат теста треба да буде исти при сваком извршењу, ако се тестирани код није променио.

Пример у Python-у са pytest:

def add(a, b):
    """Збир два броја."""
    return a + b

def test_add_positive_numbers():
    # Тестирање збирa два позитивна броја
    assert add(2, 3) == 5

def test_add_negative_numbers():
    # Тестирање збирa два негативна броја
    assert add(-1, -5) == -6

def test_add_zero():
    # Тестирање збирa са нулом
    assert add(0, 7) == 7