Intern
Cos'è un test unitario?
sobes.tech AI
Risposta dell'AI
Il test unitario è un metodo di testing del software in cui parti minime del codice (unità, solitamente funzioni, metodi o classi) vengono isolate e verificate per conformarsi al comportamento atteso.
Obiettivi dei test unitari:
- Verifica della logica: Controllare la correttezza di una specifica sezione di codice in isolamento.
- Rilevamento precoce di difetti: Individuare errori nella fase di sviluppo, quando la loro correzione è più economica.
- Facilitare il refactoring: Garantire che le modifiche al codice non rompano le funzionalità esistenti.
- Documentazione: I test unitari possono servire come esempio di utilizzo del codice.
- Miglioramento del design del codice: Scrivere codice testabile spesso porta a un design più modulare e comprensibile.
Caratteristiche principali dei test unitari:
- Automazione: Vengono eseguiti automaticamente dai framework di testing.
- Isolamento: Test di un'unità, minimizzando le dipendenze da sistemi esterni (database, rete, filesystem), spesso usando mock o stub.
- Velocità di esecuzione: Devono essere molto veloci, per poter essere eseguiti frequentemente (ad esempio, ad ogni modifica del codice o prima di un commit).
- Determinismo: Il risultato del test deve essere lo stesso ad ogni esecuzione, se il codice testato non è cambiato.
Esempio in Python con pytest:
def add(a, b):
"""Somma due numeri."""
return a + b
def test_add_positive_numbers():
# Verifica somma di due numeri positivi
assert add(2, 3) == 5
def test_add_negative_numbers():
# Verifica somma di due numeri negativi
assert add(-1, -5) == -6
def test_add_zero():
# Verifica somma con zero
assert add(0, 7) == 7