Framework Pytest: Configurazione ed Esecuzione di Test Automatizzati
Installazione
Per prima cosa, è necessario installare Pytest. Questa procedura è semplice grazie al gestore di pacchetti di Python, pip. Aprire la riga di comando o il terminale ed eseguire il seguente comando:
pip install pytest
È sempre preferibile eseguire questa operazione nell'ambiente virtuale del progetto.
Spiegazione della Sintassi
Uno dei motivi per cui Pytest è molto apprezzato nella comunità Python è la sua sintassi semplice e facilmente leggibile. A differenza di altri framework di testing, Pytest consente di scrivere codice di test in modo molto intuitivo. Ecco una breve panoramica:
- File di Test: pytest riconosce i file che iniziano con test_ o terminano con _test.py;
- Funzioni di Test: le funzioni che iniziano con test_ all'interno di questi file vengono automaticamente identificate come funzioni di test da pytest;
- Asserzioni: utilizzare l'istruzione
assertintegrata di Python per verificare che determinate condizioni siano soddisfatte.
Esempi di Codice
Applichiamo quanto appreso con un semplice esempio. Supponiamo di avere una funzione chiamata add che somma due numeri. Ecco come si potrebbe scrivere un test per essa utilizzando Pytest:
# content of test_example.py
def add(a, b):
return a + b
def test_add():
assert add(2, 3) == 5
assert add('space', 'ship') == 'spaceship'
Questo esempio mostra due test: uno per i numeri e uno per le stringhe. Le istruzioni assert verificano che la funzione si comporti come previsto.
Come Eseguire i Test e Interpretare i Risultati
Eseguire i test con Pytest è estremamente semplice. Spostarsi nella directory che contiene il file di test ed eseguire il seguente comando:
pytest
Pytest rileverà ed eseguirà automaticamente tutti i test nella directory, mostrando un report che indica se ciascun test è stato superato o meno. Ecco un esempio di output:
===================== test session starts ======================
collected 2 items
test_example.py .. [100%]
====================== 2 passed in 0.12s =======================
Ogni punto rappresenta un test superato. Pytest fornisce un output dettagliato per i test falliti, inclusi il numero di riga e la motivazione del fallimento, facilitando la diagnosi e la correzione dei problemi.
===================== test session starts ======================
collected 2 items
test_example.py .F [100%]
====================== FAILURES ==========================
____________________ test_add _________________________
def test_add():
> assert add(2, 3) == 8
E AssertionError: assert 5 == 8
E + where 5 = add(2, 3)
test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================
Interpretazione dei Risultati
- Passed (.): il test è stato eseguito con successo e tutte le asserzioni sono
True; - Failed (F): il test contiene asserzioni che non sono risultate
True, indicando un problema; - Skipped (s): il test è stato saltato, probabilmente a causa di una condizione o dipendenza configurata.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Fantastico!
Completion tasso migliorato a 3.13
Framework Pytest: Configurazione ed Esecuzione di Test Automatizzati
Scorri per mostrare il menu
Installazione
Per prima cosa, è necessario installare Pytest. Questa procedura è semplice grazie al gestore di pacchetti di Python, pip. Aprire la riga di comando o il terminale ed eseguire il seguente comando:
pip install pytest
È sempre preferibile eseguire questa operazione nell'ambiente virtuale del progetto.
Spiegazione della Sintassi
Uno dei motivi per cui Pytest è molto apprezzato nella comunità Python è la sua sintassi semplice e facilmente leggibile. A differenza di altri framework di testing, Pytest consente di scrivere codice di test in modo molto intuitivo. Ecco una breve panoramica:
- File di Test: pytest riconosce i file che iniziano con test_ o terminano con _test.py;
- Funzioni di Test: le funzioni che iniziano con test_ all'interno di questi file vengono automaticamente identificate come funzioni di test da pytest;
- Asserzioni: utilizzare l'istruzione
assertintegrata di Python per verificare che determinate condizioni siano soddisfatte.
Esempi di Codice
Applichiamo quanto appreso con un semplice esempio. Supponiamo di avere una funzione chiamata add che somma due numeri. Ecco come si potrebbe scrivere un test per essa utilizzando Pytest:
# content of test_example.py
def add(a, b):
return a + b
def test_add():
assert add(2, 3) == 5
assert add('space', 'ship') == 'spaceship'
Questo esempio mostra due test: uno per i numeri e uno per le stringhe. Le istruzioni assert verificano che la funzione si comporti come previsto.
Come Eseguire i Test e Interpretare i Risultati
Eseguire i test con Pytest è estremamente semplice. Spostarsi nella directory che contiene il file di test ed eseguire il seguente comando:
pytest
Pytest rileverà ed eseguirà automaticamente tutti i test nella directory, mostrando un report che indica se ciascun test è stato superato o meno. Ecco un esempio di output:
===================== test session starts ======================
collected 2 items
test_example.py .. [100%]
====================== 2 passed in 0.12s =======================
Ogni punto rappresenta un test superato. Pytest fornisce un output dettagliato per i test falliti, inclusi il numero di riga e la motivazione del fallimento, facilitando la diagnosi e la correzione dei problemi.
===================== test session starts ======================
collected 2 items
test_example.py .F [100%]
====================== FAILURES ==========================
____________________ test_add _________________________
def test_add():
> assert add(2, 3) == 8
E AssertionError: assert 5 == 8
E + where 5 = add(2, 3)
test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================
Interpretazione dei Risultati
- Passed (.): il test è stato eseguito con successo e tutte le asserzioni sono
True; - Failed (F): il test contiene asserzioni che non sono risultate
True, indicando un problema; - Skipped (s): il test è stato saltato, probabilmente a causa di una condizione o dipendenza configurata.
Grazie per i tuoi commenti!