Сравнить два словаря с помощью параметризации и фикстур

Есть два словаря которые надо подробно сравнить (какие конкретно элементы отличаются) с помощью @pytest.fixture(session='scope') и @pytest.mark.parametrize.

@pytest.fixture(session='scope') применял для получение словарей

@pytest.fixture(session='scope')
def get_first_dic():
    ...
    return first_dic

@pytest.fixture(session='scope')
def get_decond_dic():
    ...
    return second_dic

Далее с помощью параметризации пытаюсь их сравнить (хотя бы полностью, без детализации)

@pytest.mark.parametrize("get_first_dic, get_second_dic", (get_first_dic, get_second_dic))
def test_dbs(get_first_dic, get_second_dic):
    assert get_first_dic == get_second_dic

На что получаю это

Также пытался сравнивать отдельно значения этих словарей, без ключей.

@pytest.mark.parametrize("get_first_dic, get_second_dic", ([i for i in get_first_dic().values()],
                                                           [i for i in get_first_dic().values()]))
def test_dbs(get_first_dic, get_second_dic):
    assert get_first_dic == get_second_dic

Здесь же проблема в том, что нельзя обращаться к фикстурам, как к функциям.

Каким образом это реализовать?

P.S. безусловно это можно сделать проще без pytest, но мне нужно с ним.


Ответы (0 шт):