Pitone

Tutorial su Python Unittest

Tutorial su Python Unittest

Il test unitario è un metodo di test utilizzato nell'ingegneria del software per singole unità di qualsiasi codice. Gli utenti possono mettere i singoli test per determinare lo stato della fonte e quanto il codice è adatto per essere utilizzato. In questo modo gli utenti possono testare la qualità del codice.

Il test viene eseguito una volta completato il processo di sviluppo. Gli utenti possono anche iniziare il test quando lo script del test deve essere verificato in base ai criteri del test. Gli sviluppatori dovrebbero scrivere i tipi manuali del codice sorgente. In genere, scrivere manualmente i codici di test delle unità è un'attività frenetica, ma in Python viene eseguita utilizzando una funzione integrata chiamata unittest.

test unitario

Il test in Python viene eseguito dal framework unittest. Il test delle unità rende il codice sicuro e facile da usare anche in futuro. Gli utenti di solito non possono prevedere questi casi ma possono affrontarli facilmente. Unittest può essere l'intero modulo, una funzione particolare e un'intera interfaccia (classe/modulo).

Come scrivere unit test per il tuo codice?

Per scrivere i test di unità per il tuo codice, inizia sempre con l'unità più piccola che può essere testata dall'intero codice, quindi spostati ulteriormente su altre unità. In questo modo controllerai come interagisce l'unità scelta più piccola per costruire un intero test di unità.

Il framework di unit test di Python è stato formato tenendo conto del Junit . di java. Ha le stesse caratteristiche come il test unitario viene eseguito in altri diversi tipi di lingue. Il framework dei test unitari in Python aiuta nei test di automazione, nella configurazione della condivisione, nell'aggregazione di molti test in un unico grande set e nei test indipendenti

Esempi:

Ora, nell'esempio, stiamo controllando il codice per scoprire la somma nel codice Python usando la funzione sum(). La risposta a questa sommatoria deve essere 12, che è corretta.

>>> assert sum([2, 4, 6]) == 12, "Dovrebbe essere uguale a 12"

D'altra parte, se proviamo a scrivere un valore di output sbagliato, che la sum() non è corretta, i risultati falliranno. Restituirà un AssertionError. L'output dichiarato da noi è errato, ovvero 12, e l'output effettivo deve essere 6, pertanto ha restituito questo errore.

>>> assert sum([2, 2, 2]) == 12, "Dovrebbe essere uguale a 12"

Ora, invece di testare su REPL, inseriremo un nuovo file Python e lo chiameremo test_sum.pi

>> def testValue_sum():
assert sum([2, 4, 6]) == 12, "Dovrebbe essere uguale a 12"
if __name__ == "__main__":
testValue_sum()
print("Tutto è stato passato correttamente")

Dopo aver scritto il test case, puoi accedere alla directory che ha test_sum.py, quindi digita:

$ python test_sum.pi

Produzione:

Il valore di output, quando è simile a quello visualizzato, approverà il valore corretto.

Creiamo un altro file per .pi per testare la somma. L'esempio come visualizzato nel codice e può essere utilizzato come esempio copiando:

def testValue_sum():
assert sum([2, 4, 6]) == 12, "Dovrebbe essere uguale a 12"
def testValue_sum_tuple():
assert sum((1, 1, 1)) == 6, "Dovrebbe essere uguale a 6"
if __name__ == "__main__":
testValue_sum()
testValue_sum_tuple()
print("Tutto è stato passato correttamente")

Questa volta chiameremo di nuovo il file test_sum.pi 

Il primo blocco di codice è corretto, mentre il secondo blocco di codice è sbagliato e contiene un errore, quindi il nostro output restituirà lo stesso.

Ora torniamo alla directory del progetto, dove abbiamo salvato il .py file, e quindi testare il file utilizzando il seguente comando:

$ python test_sum.pi

Produzione:

Questa volta, poiché il codice di input presentava un errore, si prevede che restituisca l'errore di asserzione in risposta.

Esempio di utilizzo di unittest:

I requisiti di Unittest sono che gli utenti possono inserire i loro test in classi come metodi diversi, gli utenti possono utilizzare una serie di metodi di asserzione e la classe TestCase può essere utilizzata al posto dell'istruzione assert.

Gli utenti possono convertire l'esempio discusso nella metà precedente in un test case unittest.

Per prima cosa, importa la libreria unitest. Successivamente, devi creare un TestSum da diverse classi.

Crea un nuovo file per il codice discusso di seguito:

import unittest
class SommaTest(unitàtest.Caso di prova):
def testValue_sum(self):
se stesso.assertEqual(sum([2, 4, 6]), 12, "Dovrebbe essere uguale a 12")
def testValue_sum_tuple(self):
se stesso.assertEqual(sum((1, 1, 1)), 6, "Dovrebbe essere uguale a 6")
if __name__ == '__main__':
unittest.principale()

Una volta eseguito questo comando, l'output ha un punto. Questo significa successo e una F significa un fallimento.

Quindi, abbiamo successo e un altro è un fallimento.

Produzione:

Scrivere la prima prova:

Crea una nuova cartella di progetto e quindi crea una nuova cartella, la chiameremo sum_file. Al suo interno, crea un file e chiamalo, __init__.pi.  Crea la cartella del progetto come questa:

progetto/

somma_file/
└── __init__.pi

Quindi devi aprire my_sum/__init__.py e crea una nuova funzione sum(). Sarà iterabile (un elenco, tupla o set) aggiungere molti valori:

def somma (argomento):
Total_ValueCalculated = 0
per val in arg:
total_ValueCalculated += val
return total_ValueCalculated

Successivamente, è necessario creare un test file. Inizia scrivendo i test e crea un file di test chiamato testFile.pi. Per importare l'applicazione, e deve essere testata, posizionare il file testFile.pi sopra la cartella del pacchetto. Quanto segue sarà l'aspetto generale della tua directory:

progetto/

somma_file/
│ └── __init__.pi
|
testFile.pi

Come discusso in precedenza per testare il codice, è possibile utilizzare il seguente comando nella finestra del terminale/riga di comando:

$ python -m test unitario

Conclusione

L'articolo discute il processo di unit test in Python. Il test è una delle funzionalità utili dell'ingegneria del software che è in grado di dividere i codici in blocchi più piccoli e quindi provarli uno per uno. Gli utenti possono anche compilare l'intero campione di prova/codici unità in un'unica grande raccolta. Unittest è una funzione utilizzata in Python per semplificare l'uso dei test.

I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...
I 10 migliori giochi da giocare su Ubuntu
La piattaforma Windows è stata una delle piattaforme dominanti per i giochi a causa dell'enorme percentuale di giochi che si stanno sviluppando oggi p...
I 5 migliori giochi arcade per Linux
Al giorno d'oggi, i computer sono macchine serie utilizzate per i giochi. Se non riesci a ottenere il nuovo punteggio più alto, saprai cosa intendo. I...