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.

Python Unit-Test Fondamenti: Il tuo ingresso

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:

import unittest
from preisberechnung import get_verkaufspreis
Python Unit-Test Fondamenti: Il tuo ingresso

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.

Fondamenti dei Test Unitari in Python: Il tuo ingresso

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):

class PreisberechnungTest(unittest.TestCase): def test_preis_ist_float(self): vk = get_verkaufspreis(100) self.assertIsInstance(vk, float)
Python Unit-Test Fondamenti: Il tuo ingresso

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:

def test_invalid_input(self): with self.assertRaises(TypeError): get_verkaufspreis("invalid")
Python Unit-Test basi: Il tuo inizio

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:

python -m unittest preisberechnung_test.py

Nella tua IDE, come PyCharm, puoi utilizzare la configurazione di esecuzione per eseguire i test.

Python Unit-Test Fondamenti: Il tuo ingresso

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.

Fondamenti del Python Unit-Test: Il tuo ingresso

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.