Python assertdictequal

Python assertdictequal
Python kommer med ganske mye lignende navnfunksjoner. AssertDicequal -metoden er lik når det gjelder å jobbe med AssertEqual -metoden som har blitt brukt for å sammenligne likheten mellom to verdier. Den eneste forskjellen er at AssertDictequal -metoden brukes til å gjøre en likhetssammenligning mellom to ordbøker av Python. Selv om den påstandsmessige metoden også kan brukes på ordbøker, mislykkes den noen ganger. For å unngå det bruker vi AssertDictequal -metoden. Derfor vil vi se AssertDictequal -metoden i dag i denne guiden. La oss begynne.

Eksempel 01:

La oss ta det første eksemplet for å bare sammenligne to ordbøker innenfor Spyder3 -koden uten å bruke AssertDictequal -funksjonen for å forstå likestillingskonseptet ganske enkelt. Vi har startet koden vår med initialisering av to ordboksdatastrukturer. Ordbøkene inneholder 3 nøkkelparverdier, i.e., lignende i verdier, men annerledes på stedet. Utskriftsuttalelsen bruker "==" -operatøren for å vise sammenligningsresultatet av to ordbøker. Ettersom begge ordbøkene er de samme, må de returnere "sanne" som et resultat.

DIC1 = 'One': 46, 'Three': [2,14], 'Two': 14
DIC1 = 'TO': 14, 'One': 46, 'Three': [2,14]
Print (DIC1 == DIC2)

Etter å ha kjørt denne enkle koden, har vi fått "sant" som output, jeg.e., ordbøker er like.

Eksempel 02:

La oss se på bruken av AssertEqual -funksjonen på ordbøkene først. For å bruke denne funksjonen har vi først importert "UNITTEST" -modulen til Python. Den innebygde "TestStringMethods" -klassen brukes mens du implementerer testcase-modulen via Unittest Library. Den brukerdefinerte "test" -funksjonen er definert. Den inneholder initialisering av to ordbøker, “DIC1” og “DIC2”, med de samme nøkkelparverdiene. AssertEqual -funksjonen kalles her, tar DIC1 og DIC2 -ordbøker som argumenter for å sjekke likheten i ordbøker. Det vil returnere sant hvis ordbøker er like; Ellers, kast en testsak mislyktes unntak.

Importer uvitende
Klasseteststringmetoder (UNITTEST.Testforsøk):
def test2 (selv):
DIC1 = "One": 1, "Two": 2
DIC2 = "One": 1, "Two": 2
selv-.Assertequal (DIC1, DIC2)
if __name__ == '__main__':
UNITTEST.hoved()

Etter å ha kjørt dette Python -kodestykket, fikk vi suksessmeldingen, jeg.e., “Ok.”Det betyr at begge ordbøker er like og de samme i verdier, og testsaken blir bestått.

Eksempel 03:

Her er et annet eksempel på å bruke AssertDicequal -funksjonen til Python i koden vår. Du vil se at det vil være veldig likt Assertequal -metoden. Vi har erklært de samme ordbøkene DIC1 og DIC2 i koden som i illustrasjonen ovenfor innenfor testfunksjonen. Vi har også initialisert en annen strengvariabel, "M", som skal brukes i koden. Den eneste endringen er at AssertDictequal -funksjonen som brukes her tar 3 argumenter i stedet for 2. Så den assertdictequal -metoden bruker 3 variabler, i.e., v1, v2 og m. Variablene V1 og V2 vil bli sammenlignet, mens variabelen “M” vil vise suksessen og fiaskoen i denne sammenligningen.

Importer uvitende
Klasseteststringmetoder (UNITTEST.Testforsøk):
def test2 (selv):
DIC1 = "One": 1, "Two": 2
DIC2 = "One": 1, "Two": 2
M = "Dictionaries er ikke like ..."
selv-.AssertDictequal (DIC1, DIC2, M)
if __name__ == '__main__':
UNITTEST.hoved()

Ettersom ordbøkene som er initialisert i koden er de samme og like; Dermed viser utgangen fra denne koden suksessmeldingen for testsaken, i.e., “Ok.”

La oss endre koden litt. Denne gangen har vi endret ordboksverdiene. Innenfor DIC2 -ordboken har vi oppdatert verdien av nøkkelen “to” i.e. erstattet den med 45. Vi har også oppdatert variabelen “M” i.e. ettersom ordbøkene ikke er like nå.

Importer uvitende
Klasseteststringmetoder (UNITTEST.Testforsøk):
def test2 (selv):
DIC1 = "One": 1, "Two": 2
DIC2 = "One": 1, "Two": 45
M = "Dictionaries er ikke like ..."
selv-.AssertDictequal (DIC1, DIC2, M)
if __name__ == '__main__':
UNITTEST.hoved()

Etter å ha kjørt denne testkoden, har vi fått feilutgangen. Dette kalles negativ utgang for testtilfeltet, og derfor var enhetstesten vår mislykket, i.e., ordbøker er ikke like.

Eksempel 04:

La oss ta en titt på vårt siste, men ikke minst eksempel på å bruke AssertDictequal -funksjonen i Python Test Case Code. De samme overskriftsfilene, jeg.e., Unittest, har blitt brukt. Samme klasse og hoved () -funksjonen brukes i koden. Denne Python-koden bruker to brukerdefinerte funksjoner for å sjekke to testtilfeller, i.e., TEST1 og TEST2. Utgangen vil bare være positiv når begge testtilfellene er sanne. Du kan se at begge funksjonene inneholder samme navn Dictionaries, i.e., DIC1 og DIC2. "Test1" -funksjonen Dictionaries er de samme, mens Test2 -funksjonen Dictionaries ikke er de samme, i.e., Endre ved nøkkelen “to” i DIC2. "M" -variabelen i begge testfunksjonene inneholder forskjellige verdier.

Importer uvitende
Klasseteststringmetoder (UNITTEST.Testforsøk):
def test1 (selv):
DIC1 = "One": 1, "Two": 2
DIC2 = "One": 1, "Two": 2
M = "Dictionaries er like ..."
selv-.AssertDictequal (DIC1, DIC2, M)
def test2 (selv):
DIC1 = "One": 1, "Two": 2
DIC2 = "One": 1, "Two": 45
M = "Dictionaries er ikke like ..."
selv-.AssertDictequal (DIC1, DIC2, M)
if __name__ == '__main__':
UNITTEST.hoved()

Etter utførelsen av denne koden har vi fått et negativt resultat.

La oss oppdatere koden ved å gjøre begge testfunksjonsordbøkene litt annerledes enn hverandre jeg.e. DIC1 og DIC2 er forskjellige.

Importer uvitende
Klasseteststringmetoder (UNITTEST.Testforsøk):
def test1 (selv):
DIC1 = "One": 1, "Two": 2
DIC2 = "One": 1, "Two": 456
M = "Dictionaries er like ..."
selv-.AssertDictequal (DIC1, DIC2, M)
def test2 (selv):
DIC1 = "One": 1, "Two": 2
DIC2 = "One": 1, "Two": 45
M = "Dictionaries er ikke like ..."
selv-.AssertDictequal (DIC1, DIC2, M)
if __name__ == '__main__':
UNITTEST.hoved()

Du vil se at utdataene viser to feil.

La oss gjøre ordbøkene like og like for begge testfunksjonene nå som nedenfor.

Importer uvitende
Klasseteststringmetoder (UNITTEST.Testforsøk):
def test2 (selv):
DIC1 = "One": 1, "Two": 2
DIC2 = "One": 1, "Two": 2
selv-.Assertequal (DIC1, DIC2)
if __name__ == '__main__':
UNITTEST.hoved()

Denne gangen vil du få suksessmeldingen til testsaker, jeg.e., Positive resultater.

Konklusjon:

Vi har implementert AssertDictequal -metoden i Python for å sammenligne ordbøker. Vi har også sett et enkelt eksempel på en lignende funksjonssikkerhet () for å gjøre det mer tydelig. Derfor har vi gjort det ganske enkelt og enkelt for å få deg til å forstå konseptet med AssertDictequal -metoden.