Python Asserdicqual

Python Asserdicqual
Python wymyśla prawie podobne funkcje nazwy. Metoda AssertDiceQual jest podobna w pracy z metodą Assertequal, która została zastosowana do porównania równości dwóch wartości. Jedyna różnica polega na tym, że metoda aserdykcyjna jest stosowana do dokonania porównania równości między dwoma słownikami Pythona. Chociaż metodę Assertequal można również zastosować do słowników, czasami zawodzi. Aby tego uniknąć, używamy metody assertdictequal. Dlatego w tym przewodniku zobaczymy dziś metodę AssertDiCequal. Zaczynajmy.

Przykład 01:

Weźmy pierwszy przykład, aby po prostu porównać dwa słowniki w kodzie Spyder3 bez użycia funkcji AssertdictEqual, aby zrozumieć koncepcję równości. Rozpoczęliśmy nasz kod z inicjowaniem dwóch struktur danych słownika. Słowniki zawierają 3 wartości pary kluczowe, i.mi., podobne w wartościach, ale różne w lokalizacji. Instrukcja drukowania wykorzystuje operatora „==” do wyświetlenia wyniku porównania dwóch słowników. Ponieważ oba słowniki są takie same, w rezultacie muszą zwrócić „prawdziwe”.

DIC1 = „One”: 46, „trzy”: [2,14], „dwa”: 14
DIC1 = „dwa”: 14, „One”: 46, „trzy”: [2,14]
Drukuj (DIC1 == DIC2)

Po uruchomieniu tego prostego kodu mamy „prawdziwe” jako wyjście, ja.mi., Słowniki są równe.

Przykład 02:

Spójrzmy na użycie funkcji Assertequal na słownikach. Aby skorzystać z tej funkcji, najpierw zaimportowaliśmy moduł „jednortkowy” Pythona. Podczas implementacji modułu testowego za pośrednictwem Unitest Library jest używana wbudowana klasa „testStringMethods”. Zdefiniowana przez użytkownika funkcja „testu” jest zdefiniowana. Zawiera inicjalizację dwóch słowników, „DIC1” i „DIC2”, z tymi samymi wartościami pary kluczowej. Funkcja Assertequal jest tutaj wywoływana, biorąc słowniki DIC1 i DIC2 jako argumenty do sprawdzenia równości słowników. Zwróci to, jeśli słowniki są równe; W przeciwnym razie wyrzuć przypadek testowy nieudany wyjątek.

importować jednortowe
klasowe teststringmethods (jednortowe.Testcase):
def test2 (ja):
DIC1 = „One”: 1, „dwa”: 2
DIC2 = „One”: 1, „dwa”: 2
samego siebie.Assertequal (DIC1, DIC2)
Jeśli __name__ == '__main__':
jednortowe.główny()

Po uruchomieniu tego kodu Pythona otrzymaliśmy wiadomość sukcesu, ja.mi., "OK.„Oznacza to, że obie słowniki są równe i takie same pod względem wartości, a przypadek testowy jest przekazywany.

Przykład 03:

Oto kolejny przykład użycia funkcji AssertDicequal Pythona w naszym kodzie. Zobaczysz, że będzie to bardzo podobne do metody Assertequal. Zgłosiliśmy te same słowniki DIC1 i DIC2 w kodzie, jak w powyższej ilustracji w funkcji testu. Ponadto zainicjowaliśmy inną zmienną stringową, „m”, która ma być używana w kodzie. Jedyną zmianą jest to, że zastosowana tutaj funkcja AssertDicqual bierze 3 argumenty zamiast 2. Tak więc metoda assertdicqual wykorzystuje 3 zmienne, i.mi., v1, v2 i m. Zmienne V1 i V2 zostaną porównane, podczas gdy zmienna „M” pokaże sukces i porażkę tego porównania.

importować jednortowe
klasowe teststringmethods (jednortowe.Testcase):
def test2 (ja):
DIC1 = „One”: 1, „dwa”: 2
DIC2 = „One”: 1, „dwa”: 2
m = „Słowniki nie są równe…”
samego siebie.Asserdicqual (DIC1, DIC2, M)
Jeśli __name__ == '__main__':
jednortowe.główny()

Ponieważ słowniki zainicjowane w kodzie są takie same i równe; Zatem dane wyjściowe tego kodu pokazuje komunikat sukcesu w przypadku testu, i.mi., "OK."

Zmieńmy trochę kodu. Tym razem zmieniliśmy wartości słownika. W ramach słownika DIC2 zaktualizowaliśmy wartość kluczowego „dwóch” i.mi. zastąpił go 45. Ponadto zaktualizowaliśmy zmienną „m” i.mi. Ponieważ słowniki nie są teraz równe.

importować jednortowe
klasowe teststringmethods (jednortowe.Testcase):
def test2 (ja):
DIC1 = „One”: 1, „dwa”: 2
DIC2 = „One”: 1, „dwa”: 45
m = „Słowniki nie są równe…”
samego siebie.Asserdicqual (DIC1, DIC2, M)
Jeśli __name__ == '__main__':
jednortowe.główny()

Po uruchomieniu tego kodu testowego mamy wyjście awarii. Nazywa się to wyjściem ujemnym w przypadku testu, a zatem nasz test jednostkowy nie powiodło się.mi., Słowniki nie są równe.

Przykład 04:

Rzućmy okiem na nasz ostatni, ale nie najmniejszy przykład użycia funkcji AssertDicqual w kodzie przypadków testowych Python. Te same pliki nagłówka, i.mi., jednortowe, zostały użyte. Ta sama klasa i funkcja main () jest wykorzystywana w kodzie. Ten kod Pythona używa dwóch funkcji zdefiniowanych przez użytkownika do sprawdzenia dwóch przypadków testowych, i.mi., TEST1 i TEST2. Wyjście będzie pozytywne tylko wtedy, gdy oba przypadki testowe są prawdziwe. Możesz zobaczyć, że obie funkcje zawierają te same słowniki nazwy, i.mi., DIC1 i DIC2. Słowniki funkcji „test1” są takie same, podczas gdy słowniki funkcji test2 nie są takie same, i.mi., Zmień w kluczowym „dwóch” w DIC2. Zmienna „M” w obu funkcjach testowych zawiera różne wartości.

importować jednortowe
klasowe teststringmethods (jednortowe.Testcase):
DEF TEST1 (Self):
DIC1 = „One”: 1, „dwa”: 2
DIC2 = „One”: 1, „dwa”: 2
m = „Słowniki są równe…”
samego siebie.Asserdicqual (DIC1, DIC2, M)
def test2 (ja):
DIC1 = „One”: 1, „dwa”: 2
DIC2 = „One”: 1, „dwa”: 45
m = „Słowniki nie są równe…”
samego siebie.Asserdicqual (DIC1, DIC2, M)
Jeśli __name__ == '__main__':
jednortowe.główny()

Po wykonaniu tego kodu mamy wynik negatywny.

Zaktualizujmy kod, czyniąc oba słowniki funkcji testu nieco odmienne od siebie.mi. DIC1 i DIC2 są różne.

importować jednortowe
klasowe teststringmethods (jednortowe.Testcase):
DEF TEST1 (Self):
DIC1 = „One”: 1, „dwa”: 2
DIC2 = „One”: 1, „dwa”: 456
m = „Słowniki są równe…”
samego siebie.Asserdicqual (DIC1, DIC2, M)
def test2 (ja):
DIC1 = „One”: 1, „dwa”: 2
DIC2 = „One”: 1, „dwa”: 45
m = „Słowniki nie są równe…”
samego siebie.Asserdicqual (DIC1, DIC2, M)
Jeśli __name__ == '__main__':
jednortowe.główny()

Zobaczysz, że wyjście pokazuje dwie awarie.

Spraw, aby słowniki były podobne i równe dla obu funkcji testowych, jak poniżej.

importować jednortowe
klasowe teststringmethods (jednortowe.Testcase):
def test2 (ja):
DIC1 = „One”: 1, „dwa”: 2
DIC2 = „One”: 1, „dwa”: 2
samego siebie.Assertequal (DIC1, DIC2)
Jeśli __name__ == '__main__':
jednortowe.główny()

Tym razem otrzymasz wiadomość sukcesu w sprawach testowych, tj.mi., Pozytywne rezultaty.

Wniosek:

Wdrożyliśmy metodę AssertDiCequal w Pythonie, aby porównać słowniki. Widzieliśmy również prosty przykład podobnej funkcji assertequal (), aby było bardziej jasne. Dlatego zrobiliśmy to po prostu i łatwo, abyś zrozumiał koncepcję metody aserdictequal.