How can you test that two dictionaries are equal with pytest in python
How can you test that two dictionaries are equal with pytest in python
Dont spend your time writing this logic yourself. Just use the functions provided by the default testing library unittest
from unittest import TestCase
TestCase().assertDictEqual(expected_dict, actual_dict)
pytests magic is clever enough. By writing
assert {a: {b: 2, c: {d: 4} } } == {a: {b: 2, c: {d: 4} } }
you will have a nested test on equality.
How can you test that two dictionaries are equal with pytest in python
I guess a simple assert equality test should be okay:
>>> d1 = {n: chr(n+65) for n in range(10)}
>>> d2 = {n: chr(n+65) for n in range(10)}
>>> d1 == d2
True
>>> l1 = [1, 2, 3]
>>> l2 = [1, 2, 3]
>>> d2[10] = l2
>>> d1[10] = l1
>>> d1 == d2
True
>>> class Example:
stub_prop = None
>>> e1 = Example()
>>> e2 = Example()
>>> e2.stub_prop = 10
>>> e1.stub_prop = a
>>> d1[11] = e1
>>> d2[11] = e2
>>> d1 == d2
False