Python AssertDictEqual

Python AssertDictEqual
Python hat ziemlich ähnliche Namensfunktionen. Die AssertDicequal -Methode ist bei der Arbeit mit der AssertEqual -Methode, die verwendet wurde, um die Gleichheit von zwei Werten zu vergleichen. Der einzige Unterschied besteht. Obwohl die Assertequal -Methode auch auf Wörterbücher angewendet werden kann, schlägt sie manchmal fehl. Um dies zu vermeiden, verwenden wir die AssertDictequal -Methode. Daher werden wir heute in diesem Leitfaden die Methode für die AssertDictequal sehen. Lasst uns beginnen.

Beispiel 01:

Nehmen wir das erste Beispiel, um einfach zwei Wörterbücher innerhalb des Spyder3 -Codes zu vergleichen, ohne die Funktion des AssertDictequal zu verwenden, um das Gleichstellungskonzept einfach zu verstehen. Wir haben unseren Code mit der Initialisierung von zwei Wörterbuchdatenstrukturen begonnen. Die Wörterbücher enthalten 3 Schlüsselpaarwerte, ich.e., Ähnlich in Werten, aber unterschiedlich an Ort. Die Druckanweisung verwendet den Operator "==", um das Vergleichsergebnis zweier Wörterbücher anzuzeigen. Da beide Wörterbücher gleich sind, müssen sie als Ergebnis „wahr“ zurückkehren.

Dic1 = 'eins': 46, 'drei': [2,14], 'zwei': 14
Dic1 = 'zwei': 14, 'eins': 46, 'drei': [2,14]
print (dic1 == dic2)

Nachdem wir diesen einfachen Code ausgeführt haben, haben wir "wahr" als Ausgabe, ich.e., Wörterbücher sind gleich.

Beispiel 02:

Schauen wir uns zuerst die Verwendung der Durchsetzungsfunktion auf den Wörterbüchern an. Um diese Funktion zu verwenden, haben wir zuerst das „unittest“ -Modul von Python importiert. Die integrierte „TestStringMethods“ -Klasse wird bei der Implementierung des TestCase-Moduls über die unittestes Bibliothek verwendet. Die benutzerdefinierte "Test" -Funktion ist definiert. Es enthält die Initialisierung von zwei Wörterbüchern, "DIC1" und "DIC2", mit den gleichen Taste-Pair-Werten. Die Assertequal -Funktion wird hier aufgerufen, die DIC1- und DIC2 -Wörterbücher als Argumente zur Überprüfung der Gleichheit von Wörterbüchern nimmt. Es wird wahr zurückkehren, wenn Wörterbücher gleich sind; Andernfalls werfen Sie einen Testfall fehlgeschlagene Ausnahme.

unittest importieren
KlassentestStringMethods (untestest.Testfall):
Def test2 (Selbst):
Dic1 = "eins": 1, "zwei": 2
Dic2 = "eins": 1, "zwei": 2
selbst.AssertEqual (DIC1, DIC2)
Wenn __name__ == '__main__':
Gerätetest.hauptsächlich()

Nachdem wir dieses Python -Code -Stück ausgeführt hatten, haben wir die Erfolgsnachricht erhalten, ich.e., "OK.”Es bedeutet.

Beispiel 03:

Hier ist ein weiteres Beispiel für die Verwendung der AssertDicequal -Funktion von Python in unserem Code. Sie werden sehen, dass es der Assertequal -Methode sehr ähnlich sein wird. Wir haben dieselben Wörterbücher DIC1 und DIC2 im Code wie in der obigen Abbildung innerhalb der Testfunktion deklariert. Außerdem haben wir eine andere String -Variable, „M“, initialisiert, um im Code verwendet zu werden. Die einzige Änderung besteht. In der AssertDictEqual -Methode verwendet 3 Variablen, i.e., v1, v2 und m. Die Variablen V1 und V2 werden verglichen, während die Variable „M“ den Erfolg und Misserfolg dieses Vergleichs zeigt.

unittest importieren
KlassentestStringMethods (untestest.Testfall):
Def test2 (Selbst):
Dic1 = "eins": 1, "zwei": 2
Dic2 = "eins": 1, "zwei": 2
M = "Wörterbücher sind nicht gleich ..."
selbst.AssertDictEqual (DIC1, DIC2, M)
Wenn __name__ == '__main__':
Gerätetest.hauptsächlich()

Wie die im Code initiierten Wörterbücher gleich und gleich sind; Somit zeigt die Ausgabe dieses Codes die Erfolgsnachricht für den Testfall an, ich.e., "OK.”

Ändern wir den Code ein wenig. Diesmal haben wir die Wörterbuchwerte verändert. Innerhalb des DIC2 -Wörterbuchs haben wir den Wert von Schlüssel „zwei“ i aktualisiert. I.e. ersetzte es durch 45. Außerdem haben wir die Variable „M“ i aktualisiert, ich.e. Da sind die Wörterbücher jetzt nicht gleich.

unittest importieren
KlassentestStringMethods (untestest.Testfall):
Def test2 (Selbst):
Dic1 = "eins": 1, "zwei": 2
Dic2 = "eins": 1, "zwei": 45
M = "Wörterbücher sind nicht gleich ..."
selbst.AssertDictEqual (DIC1, DIC2, M)
Wenn __name__ == '__main__':
Gerätetest.hauptsächlich()

Nachdem wir diesen Testcode ausgeführt haben, haben wir die Ausgabe des Fehlers erhalten. Dies wird als negativer Ausgang für den Testfall bezeichnet, und daher war unser Unit -Test erfolglos, ich war erfolglos.e., Wörterbücher sind nicht gleich.

Beispiel 04:

Werfen wir einen Blick auf unser letztes, aber nicht das geringste Beispiel für die Verwendung der AssertDictEqual -Funktion im Python -Test -Fallcode. Die gleichen Header -Dateien, ich.e., unittest, wurden verwendet. Die gleiche Klasse und die Funktion main () werden im Code verwendet. Dieser Python-Code verwendet zwei benutzerdefinierte Funktionen, um zwei Testfälle zu überprüfen.e., test1 und test2. Der Ausgang ist nur positiv, wenn beide Testfälle wahr sind. Sie können sehen, dass beide Funktionen die gleichen Namenswörterbücher enthalten, ich.e., DIC1 und DIC2. Die Funktionswörterbücher „Test1“ sind gleich, während die Test2 -Funktionswörterbücher nicht gleich sind, ich.e., Ändere bei den Schlüssel "zwei" in DIC2. Die Variable „M“ in beiden Testfunktionen enthält unterschiedliche Werte.

unittest importieren
KlassentestStringMethods (untestest.Testfall):
Def Test1 (Selbst):
Dic1 = "eins": 1, "zwei": 2
Dic2 = "eins": 1, "zwei": 2
M = "Wörterbücher sind gleich ..."
selbst.AssertDictEqual (DIC1, DIC2, M)
Def test2 (Selbst):
Dic1 = "eins": 1, "zwei": 2
Dic2 = "eins": 1, "zwei": 45
M = "Wörterbücher sind nicht gleich ..."
selbst.AssertDictEqual (DIC1, DIC2, M)
Wenn __name__ == '__main__':
Gerätetest.hauptsächlich()

Bei der Ausführung dieses Code haben wir ein negatives Ergebnis erhalten.

Lassen Sie uns den Code aktualisieren, indem Sie beide Testfunktionswörterbücher ein wenig voneinander unterscheiden. I.e. DIC1 und DIC2 sind unterschiedlich.

unittest importieren
KlassentestStringMethods (untestest.Testfall):
Def Test1 (Selbst):
Dic1 = "eins": 1, "zwei": 2
Dic2 = "eins": 1, "zwei": 456
M = "Wörterbücher sind gleich ..."
selbst.AssertDictEqual (DIC1, DIC2, M)
Def test2 (Selbst):
Dic1 = "eins": 1, "zwei": 2
Dic2 = "eins": 1, "zwei": 45
M = "Wörterbücher sind nicht gleich ..."
selbst.AssertDictEqual (DIC1, DIC2, M)
Wenn __name__ == '__main__':
Gerätetest.hauptsächlich()

Sie werden sehen, dass die Ausgabe zwei Fehler zeigt.

Lassen Sie uns die Wörterbücher ähnlich und gleich für beide Testfunktionen wie unten ähnlich und gleich machen.

unittest importieren
KlassentestStringMethods (untestest.Testfall):
Def test2 (Selbst):
Dic1 = "eins": 1, "zwei": 2
Dic2 = "eins": 1, "zwei": 2
selbst.AssertEqual (DIC1, DIC2)
Wenn __name__ == '__main__':
Gerätetest.hauptsächlich()

Dieses Mal erhalten Sie die Erfolgsnachricht von Testfällen, ich.e., Positive Resultate.

Abschluss:

Wir haben die AssertDictequal -Methode in Python implementiert, um Wörterbücher zu vergleichen. Wir haben auch ein einfaches Beispiel für eine ähnliche Funktion AssertEqual () gesehen, um es klarer zu machen. Daher haben wir es ganz einfach und einfach gemacht, Sie das Konzept der AssertDictequal -Methode zu verstehen.