Python AssertDictEqual

Python AssertDictEqual
Python trova funzioni di nome praticamente simili. Il metodo AssertDicequal è simile nel lavorare con il metodo AsserTequal che è stato utilizzato per confrontare l'uguaglianza di due valori. L'unica differenza è che il metodo AssertDictEqual viene utilizzato per effettuare un confronto di uguaglianza tra due dizionari di Python. Sebbene il metodo AsserTequal possa essere applicato anche ai dizionari, a volte fallisce. Per evitarlo, utilizziamo il metodo AssertDictEqual. Pertanto, vedremo oggi il metodo AssertDictEqual in questa guida. Iniziamo.

Esempio 01:

Prendiamo il primo esempio per confrontare semplicemente due dizionari all'interno del codice Spyder3 senza usare la funzione AssertDictEqual per comprendere semplicemente il concetto di uguaglianza. Abbiamo avviato il nostro codice con l'inizializzazione di due strutture di dati del dizionario. I dizionari contengono 3 valori di coppia chiave, i.e., Simile nei valori ma diversi nella posizione. L'istruzione di stampa utilizza l'operatore "==" per visualizzare il risultato di confronto di due dizionari. Poiché entrambi i dizionari sono uguali, devono restituire "vero" di conseguenza.

Dic1 = 'One': 46, 'Tre': [2,14], 'Two': 14
DIC1 = 'Two': 14, 'One': 46, 'Tre': [2,14]
Stampa (DIC1 == DIC2)

Dopo aver eseguito questo semplice codice, abbiamo "vero" come output, io.e., I dizionari sono uguali.

Esempio 02:

Diamo un'occhiata all'uso della funzione Assertequal sui dizionari prima. Per utilizzare questa funzione, abbiamo prima importato il modulo "unittest" di Python. La classe "TestStringMethods" integrata viene utilizzata durante l'implementazione del modulo TestCase tramite la libreria unittest. La funzione "test" definita dall'utente è definita. Contiene l'inizializzazione di due dizionari, "DIC1" e "Dic2", con gli stessi valori della coppia chiave. La funzione Assertequal è chiamata qui, prendendo i dizionari di Dic1 e DIC2 come argomenti per controllare l'uguaglianza dei dizionari. Restituirà vero se i dizionari sono uguali; Altrimenti, lanciare una custodia di prova non riuscita.

Import Unittest
TestStringMethods di classe (unittest.TestCase):
def test2 (self):
DIC1 = "One": 1, "Two": 2
Dic2 = "One": 1, "Two": 2
se stesso.AsserTequal (DIC1, DIC2)
Se __Name__ == '__main__':
unittest.principale()

Dopo aver eseguito questo pezzo di codice Python, abbiamo ricevuto il messaggio di successo, io.e., "OK."Significa che entrambi i dizionari sono uguali e uguali nei valori e il caso di prova viene passato.

Esempio 03:

Ecco un altro esempio dell'utilizzo della funzione Assertdicequal di Python nel nostro codice. Vedrai che sarà molto simile al metodo AsserTequal. Abbiamo dichiarato gli stessi dizionari Dic1 e Dic2 nel codice come nell'illustrazione sopra all'interno della funzione di test. Inoltre, abbiamo inizializzato un'altra variabile stringa, "M" da utilizzare nel codice. L'unico cambiamento è che la funzione AssertDictEqual utilizzata qui richiede 3 argomenti anziché 2. Quindi, il metodo AssertDictEqual utilizza 3 variabili, i.e., v1, v2 e m. Verranno confrontate le variabili V1 e V2, mentre la variabile "M" mostrerà il successo e il fallimento di questo confronto.

Import Unittest
TestStringMethods di classe (unittest.TestCase):
def test2 (self):
DIC1 = "One": 1, "Two": 2
Dic2 = "One": 1, "Two": 2
m = "I dizionari non sono uguali ..."
se stesso.AssertDictEqual (DIC1, DIC2, M)
Se __Name__ == '__main__':
unittest.principale()

Poiché i dizionari inizializzati nel codice sono uguali e uguali; Quindi l'output di questo codice mostra il messaggio di successo per il caso di test, i.e., "OK."

Cambiamo un po 'il codice. Questa volta, abbiamo modificato i valori del dizionario. All'interno del dizionario DIC2, abbiamo aggiornato il valore della chiave "due" i.e. lo ha sostituito con 45. Inoltre, abbiamo aggiornato la variabile "m" i.e. Poiché i dizionari non sono uguali ora.

Import Unittest
TestStringMethods di classe (unittest.TestCase):
def test2 (self):
DIC1 = "One": 1, "Two": 2
Dic2 = "One": 1, "Two": 45
m = "I dizionari non sono uguali ..."
se stesso.AssertDictEqual (DIC1, DIC2, M)
Se __Name__ == '__main__':
unittest.principale()

Dopo aver eseguito questo codice di test, abbiamo ottenuto l'output di fallimento. Questo è chiamato output negativo per il caso di prova, e quindi il nostro test unitario non ha avuto successo, i.e., I dizionari non sono uguali.

Esempio 04:

Diamo un'occhiata al nostro ultimo ma non ultimo esempio dell'utilizzo della funzione AssertDictEqual nel codice del caso di test Python. Gli stessi file di intestazione, i.e., unittest, sono stati usati. La stessa classe e la funzione principale () sono utilizzate nel codice. Questo codice Python utilizza due funzioni definite dall'utente per controllare due casi di test, i.e., Test1 e test2. L'output sarà positivo solo quando entrambi i casi di test sono veri. Puoi vedere che entrambe le funzioni contengono lo stesso nome dizionario, io.e., Dic1 e Dic2. I dizionari della funzione "test1" sono uguali, mentre i dizionari della funzione test2 non sono gli stessi, i.e., Modifica nella chiave "due" in DIC2. La variabile "M" in entrambe le funzioni di test contiene valori diversi.

Import Unittest
TestStringMethods di classe (unittest.TestCase):
def test1 (self):
DIC1 = "One": 1, "Two": 2
Dic2 = "One": 1, "Two": 2
m = "I dizionari sono uguali ..."
se stesso.AssertDictEqual (DIC1, DIC2, M)
def test2 (self):
DIC1 = "One": 1, "Two": 2
Dic2 = "One": 1, "Two": 45
m = "I dizionari non sono uguali ..."
se stesso.AssertDictEqual (DIC1, DIC2, M)
Se __Name__ == '__main__':
unittest.principale()

All'esecuzione di questo codice, abbiamo ottenuto un risultato negativo.

Aggiorniamo il codice rendendo entrambi i dizionari della funzione di test leggermente diversi l'uno dall'altro.e. Dic1 e Dic2 sono diversi.

Import Unittest
TestStringMethods di classe (unittest.TestCase):
def test1 (self):
DIC1 = "One": 1, "Two": 2
Dic2 = "One": 1, "Two": 456
m = "I dizionari sono uguali ..."
se stesso.AssertDictEqual (DIC1, DIC2, M)
def test2 (self):
DIC1 = "One": 1, "Two": 2
Dic2 = "One": 1, "Two": 45
m = "I dizionari non sono uguali ..."
se stesso.AssertDictEqual (DIC1, DIC2, M)
Se __Name__ == '__main__':
unittest.principale()

Vedrai che l'output mostra due guasti.

Rendiamo i dizionari simili ed uguali per entrambe le funzioni di test ora come di seguito.

Import Unittest
TestStringMethods di classe (unittest.TestCase):
def test2 (self):
DIC1 = "One": 1, "Two": 2
Dic2 = "One": 1, "Two": 2
se stesso.AsserTequal (DIC1, DIC2)
Se __Name__ == '__main__':
unittest.principale()

Questa volta, riceverai il messaggio di successo dei casi di test, io.e., Risultati positivi.

Conclusione:

Abbiamo implementato il metodo AssertDictEqual in Python per confrontare i dizionari. Abbiamo anche visto un semplice esempio di una funzione simile assertEqual () per renderlo più chiaro. Pertanto, l'abbiamo fatto abbastanza semplicemente e facilmente per farti capire il concetto del metodo AssertDictEqual.