Sobes.tech
Junior

Какво е модулно тестване?

sobes.tech AI

Отговор от AI

Единичните тестове са процесът на тестване на най-малките, изолирани логически блокове код в приложение (модули, функции, методи).

Основните цели на единичните тестове:

  • Проверка на коректността на всеки модул в изолация.
  • Ранно откриване на дефекти на ниво код.
  • Улесняване на рефакторинга и поддръжката на кода.
  • Предоставяне на документация за работата на модула.

Характеристики:

  • Извършват се от разработчиците.
  • Фокусират се върху проверка на бизнес логиката на модула, а не върху взаимодействието с външни зависимости (бази данни, файлови системи, мрежа).
  • Използват тестови рамки (JUnit, NUnit, Pytest, Mocha и др.).
  • Често се използват mocks, stubs или fixtures за изолиране на тестирания модул.

Пример за единичен тест в Python с Pytest:

# test_math_functions.py

import pytest
from math_functions import add, subtract

def test_add_positive_numbers():
    # Тест за събиране на положителни числа
    assert add(2, 3) == 5

def test_add_negative_numbers():
    # Тест за събиране на отрицателни числа
    assert add(-1, -4) == -5

def test_subtract_positive_numbers():
    # Тест за изваждане на положителни числа
    assert subtract(5, 2) == 3

def test_subtract_with_negative_result():
    # Тест за изваждане с отрицателен резултат
    assert subtract(2, 5) == -3