Unit-Tests sono uno strumento potente per gli sviluppatori, per garantire la qualità del loro codice. Ti permettono di testare funzioni in modo isolato e di assicurarti che funzionino come desiderato. In questa guida ti mostrerò come scrivere il tuo primo Unit-Test in Python. Imparerai non solo le fondamenta del testing unitario, ma anche come costruire i tuoi test in modo efficiente.
Principali scoperte
- I test unitari aiutano a rilevare errori precocemente e assicurano che le tue funzioni funzionino come desiderato.
- La libreria Python unittest offre un modo semplice per implementare i test.
- I test efficaci includono sia scenari positivi che negativi e verificano i tipi di dati dei valori restituiti.
Guida passo-passo
Passo 1: Preparazione del tuo progetto
Prima di tutto, hai bisogno di un file Python in cui è definita la tua funzione. Nel nostro esempio, chiamiamo il file preisberechnung.py. Qui definisci una funzione get_verkaufspreis che accetta il prezzo d'acquisto e aggiunge un margine.

Passo 2: Crea un file per i tuoi test unitari
Dopo, crea un nuovo file che conterrà i test per questa funzione. Chiamiamo questo file preisberechnung_test.py. Qui lavorerai con il modulo unittest.
Per utilizzare il framework, importalo all'inizio del tuo file:

Passo 3: Definisci una classe di test
Una classe di test dovrebbe ereditare da unittest.TestCase. Questo ti consente di organizzare tutti i test in modo strutturato. Rinomina la classe in PreisberechnungTest per chiarire ciò che viene testato.

Passo 4: Scrivi i tuoi test
Ora è il momento di scrivere i veri test. Inizia con un test che verifica se il valore restituito da get_verkaufspreis è del tipo previsto (float):

Passo 5: Testa input non validi
È altrettanto importante testare input non validi. Aggiungi un test che verifica se la funzione solleva un'eccezione con input non validi, come None o una stringa:

Passo 6: Esegui i test
Per eseguire i tuoi test, puoi farlo tramite il terminal oppure direttamente nella tua IDE. Se utilizzi il terminal, esegui quanto segue:
Nella tua IDE, come PyCharm, puoi utilizzare la configurazione di esecuzione per eseguire i test.

Passo 7: Controlla i risultati
Se i test vengono eseguiti con successo, riceverai un output che ti mostra se tutti i test sono stati superati. Un risultato verde significa che il tuo codice funziona come previsto.
Passo 8: Espandi i test
Oltre ai test di base, puoi aggiungere ulteriori scenari pertinenti per aumentare la sicurezza del codice. Ricorda di testare sia i casi positivi che negativi per assicurarti che la tua logica funzioni in tutte le situazioni.

Sommario - Primo Unit-Test con Python: Fondamenti e implementazione
Scrivere test unitari è un'importante abilità che ti aiuta a rendere il tuo codice affidabile. In questa guida hai imparato a scrivere il tuo primo test unitario in Python, dalla definizione della funzione all'esecuzione e verifica dei risultati. Attraverso test approfonditi, la manutenibilità del tuo codice è notevolmente migliorata e i problemi vengono rilevati precocemente.
Domande frequenti
Come creo un test unitario in Python?Per creare un test unitario in Python, crea una classe di test che eredita da unittest.TestCase e scrivi test come metodi di questa classe.
Perché dovrei scrivere test unitari?I test unitari aiutano a rilevare errori precocemente e garantiscono che le tue funzioni funzionino come desiderato.
Come eseguo i test unitari?Puoi eseguire i test unitari tramite il terminale con python -m unittest [nomefile] o direttamente nella tua IDE.
Quali sono le buone pratiche per i test unitari?Una buona pratica comprende sia scenari di test positivi che negativi e il controllo dei tipi di dati. Anche la regolarità dell'esecuzione è importante per verificare immediatamente le modifiche nel codice.