Python AssertDictEqual

Python AssertDictEqual
Python apresenta funções de nome praticamente semelhantes. O método AssertDicequal é semelhante ao trabalhar com o método assertequal que foi usado para comparar a igualdade de dois valores. A única diferença é que o método assertDictEqual é usado para fazer uma comparação de igualdade entre dois dicionários de python. Embora o método assertequal também possa ser aplicado aos dicionários, às vezes falha. Para evitar isso, usamos o método assertDictEqual. Portanto, veremos o método assertDictEqual hoje neste guia. Vamos começar.

Exemplo 01:

Vamos dar o primeiro exemplo para simplesmente comparar dois dicionários no código Spyder3 sem usar a função assertDictEqual para entender o conceito de igualdade simplesmente. Iniciamos nosso código com a inicialização de duas estruturas de dados do dicionário. Os dicionários contêm 3 valores de pares de chaves, i.e., Valores semelhantes, mas diferentes no local. A declaração de impressão utiliza o operador "==" para exibir o resultado da comparação de dois dicionários. Como os dois dicionários são os mesmos, eles devem retornar "verdadeiro" como resultado.

Dic1 = 'One': 46, 'Three': [2,14], 'dois': 14
Dic1 = 'dois': 14, 'One': 46, 'Three': [2,14]
impressão (dic1 == dic2)

Depois de executar este código simples, temos "verdadeiro" como saída, eu.e., Dicionários são iguais.

Exemplo 02:

Vamos dar uma olhada no uso da função Assertequal nos dicionários primeiro. Para usar esta função, primeiro importamos o módulo “unittest” do Python. A classe "TestStringMethods" integrada é usada ao implementar o módulo Testcase através da biblioteca da UNITTEST. A função "teste" definida pelo usuário é definida. Ele contém a inicialização de dois dicionários, "DIC1" e "DIC2", com os mesmos valores de pares-chave. A função Assertequal é chamada aqui, tomando dicionários DIC1 e DIC2 como argumentos para verificar a igualdade de dicionários. Ele retornará verdadeiro se os dicionários forem iguais; Caso contrário, jogue um caso de teste falhado na exceção.

Importar unittest
Classe teststringmethods (unittest.Caso de teste):
Def test2 (self):
Dic1 = "One": 1, "dois": 2
Dic2 = "One": 1, "dois": 2
auto.Assertequal (DIC1, DIC2)
se __name__ == '__main__':
teste de unidade.principal()

Depois de executar esta peça de código Python, recebemos a mensagem de sucesso, eu.e., "OK.”Isso significa que ambos os dicionários são iguais e os mesmos em valores, e o caso de teste é passado.

Exemplo 03:

Aqui está outro exemplo de uso da função AssertDicequal do Python em nosso código. Você verá que será muito semelhante ao método assertequal. Declaramos os mesmos dicionários DIC1 e DIC2 no código, como na ilustração acima na função de teste. Além disso, inicializamos outra variável de string, "m", a ser usada no código. A única mudança é que a função assertDictEqual usada aqui leva 3 argumentos em vez de 2. Então, o método assertDictEqual usa 3 variáveis, eu.e., v1, v2 e m. As variáveis ​​V1 e V2 serão comparadas, enquanto a variável “M” mostrará o sucesso e o fracasso desta comparação.

Importar unittest
Classe teststringmethods (unittest.Caso de teste):
Def test2 (self):
Dic1 = "One": 1, "dois": 2
Dic2 = "One": 1, "dois": 2
m = "Os dicionários não são iguais ..."
auto.assertDictEqual (dic1, dic2, m)
se __name__ == '__main__':
teste de unidade.principal()

Como os dicionários inicializados no código são iguais e iguais; Assim, a saída deste código mostra a mensagem de sucesso para o caso de teste, eu.e., "OK.”

Vamos mudar um pouco o código. Desta vez, alteramos os valores do dicionário. Dentro do dicionário DIC2, atualizamos o valor da chave "dois" i.e. substituiu por 45. Além disso, atualizamos a variável "M" i.e. Como os dicionários não são iguais agora.

Importar unittest
Classe teststringmethods (unittest.Caso de teste):
Def test2 (self):
Dic1 = "One": 1, "dois": 2
Dic2 = "One": 1, "dois": 45
m = "Os dicionários não são iguais ..."
auto.assertDictEqual (dic1, dic2, m)
se __name__ == '__main__':
teste de unidade.principal()

Depois de executar este código de teste, obtivemos a saída de falhas. Isso é chamado de saída negativa para o caso de teste e, portanto, nosso teste de unidade não teve êxito, eu.e., Dicionários não são iguais.

Exemplo 04:

Vamos dar uma olhada no nosso último, mas não o menor exemplo de usar a função assertDictEqual no código do caso de teste Python. Os mesmos arquivos de cabeçalho, eu.e., o mais, tem sido usado. A mesma classe e a função principal () são utilizadas no código. Este código Python usa duas funções definidas pelo usuário para verificar dois casos de teste, i.e., Test1 e Test2. A saída será positiva apenas quando os dois casos de teste forem verdadeiros. Você pode ver que ambas as funções contêm o mesmo nome dicionário, eu.e., DIC1 e DIC2. Os dicionários de função "Test1" são os mesmos, enquanto os dicionários de função do teste2 não são os mesmos, eu.e., Mudar em Key "Dois" em DIC2. A variável "M" em ambas as funções de teste contém valores diferentes.

Importar unittest
Classe teststringmethods (unittest.Caso de teste):
Def Test1 (self):
Dic1 = "One": 1, "dois": 2
Dic2 = "One": 1, "dois": 2
M = "Os dicionários são iguais ..."
auto.assertDictEqual (dic1, dic2, m)
Def test2 (self):
Dic1 = "One": 1, "dois": 2
Dic2 = "One": 1, "dois": 45
m = "Os dicionários não são iguais ..."
auto.assertDictEqual (dic1, dic2, m)
se __name__ == '__main__':
teste de unidade.principal()

Após a execução deste código, temos um resultado negativo.

Vamos atualizar o código, fazendo com que os dicionários de função de teste um pouco diferentes um do outro eu.e. Dic1 e dic2 são diferentes.

Importar unittest
Classe teststringmethods (unittest.Caso de teste):
Def Test1 (self):
Dic1 = "One": 1, "dois": 2
Dic2 = "One": 1, "dois": 456
M = "Os dicionários são iguais ..."
auto.assertDictEqual (dic1, dic2, m)
Def test2 (self):
Dic1 = "One": 1, "dois": 2
Dic2 = "One": 1, "dois": 45
m = "Os dicionários não são iguais ..."
auto.assertDictEqual (dic1, dic2, m)
se __name__ == '__main__':
teste de unidade.principal()

Você verá que a saída mostra duas falhas.

Vamos tornar os dicionários semelhantes e iguais para ambas as funções de teste agora como abaixo.

Importar unittest
Classe teststringmethods (unittest.Caso de teste):
Def test2 (self):
Dic1 = "One": 1, "dois": 2
Dic2 = "One": 1, "dois": 2
auto.Assertequal (DIC1, DIC2)
se __name__ == '__main__':
teste de unidade.principal()

Desta vez, você receberá a mensagem de sucesso dos casos de teste, eu.e., Resultados positivos.

Conclusão:

Implementamos o método assertDictEqual no Python para comparar dicionários. Também vimos um exemplo simples de uma função semelhante assertequal () para torná -lo mais claro. Portanto, fizemos isso de maneira simples e fácil para fazer você entender o conceito do método assertDictequal.