Sobes.tech
Intern

Ce este un test unitar?

sobes.tech AI

Răspuns de la AI

Testul unitar este o metodă de testare a software-ului în care părțile minime, posibil minimale ale codului (unități, de obicei funcții, metode sau clase) sunt izolate și verificate pentru conformitatea cu comportamentul așteptat.

Obiectivele testării unitare:

  • Verificarea logicii: Verificarea corectitudinii unei secțiuni specifice de cod în izolare.
  • Detectarea timpurie a defectelor: Identificarea erorilor în faza de dezvoltare, când corectarea lor este cea mai ieftină.
  • Facilitarea refactorizării: Asigurarea că modificările în cod nu vor strica funcționalitatea existentă.
  • Documentație: Testele unitare pot servi ca exemplu de utilizare a codului.
  • Îmbunătățirea designului codului: Scrierea de cod testabil duce adesea la un design mai modular și mai ușor de înțeles.

Caracteristici cheie ale testelor unitare:

  • Automatizare: Sunt executate automat de către framework-urile de testare.
  • Izolare: Testarea unei unități, minimizând dependențele de sistemele externe (baze de date, rețea, sistem de fișiere), adesea folosind mock-uri sau stubs.
  • Viteză de execuție: Trebuie să fie foarte rapide, pentru a putea fi rulate frecvent (de exemplu, la fiecare modificare de cod sau înainte de commit).
  • Determinism: Rezultatul testului trebuie să fie același la fiecare execuție, dacă codul testat nu s-a schimbat.

Exemplu în Python cu pytest:

def add(a, b):
    """Adaugă două numere."""
    return a + b

def test_add_positive_numbers():
    # Testarea adunării a două numere pozitive
    assert add(2, 3) == 5

def test_add_negative_numbers():
    # Testarea adunării a două numere negative
    assert add(-1, -5) == -6

def test_add_zero():
    # Testarea adunării cu zero
    assert add(0, 7) == 7