Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Framework Pytest: Configurazione ed Esecuzione di Test Automatizzati | Padronanza del Framework Pytest
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Programmazione Strutturale in Python

bookFramework 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 assert integrata 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.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

bookFramework 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 assert integrata 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.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 2
some-alt