Функция подтверждения Pytest вызывается вне класса

avatar
Kalpesh Tawde
9 августа 2021 в 07:02
91
0
0

У меня есть скрипт python reconciler.py, код которого приведен ниже

from service.type.logger import getLogger

logger = getLogger()

class get_or_create_obj(model_class, is_new_asset, **kwargs):
    if is_new_asset:
        return model_class.objects.create(**kwargs)
    else:
        obj, created = model_class.objects.get_or_create(**kwargs)
        return obj

Мне нужно написать тестовый пример, который удостоверится, что getLogger вызывается. Я пробовал это,

class TestLogger(MyTestCase):
    def test_logger(self):
        with patch("service.type.logger.getLogger") as logger:
            assert logger.called

Но результат неверный.

Пожалуйста, сообщите, что я делаю неправильно?

Источник
MrBean Bremen
9 августа 2021 в 07:22
0

Вы не вызываете регистратор после того, как исправите его — он уже вызывался при импорте до того, как он был исправлен.

Kalpesh Tawde
9 августа 2021 в 07:23
0

@MrBeanBremen да, но как я могу это утверждать?

MrBean Bremen
9 августа 2021 в 07:28
1

Вы можете перезагрузить модуль (importlib.reload()) после того, как исправите его.

Ответы (0)