экземпляр. а потом соотвественно вызываются функции от этого экземпляра.
Вопрос - как правильно замокать? И что конкретно мокать? Общий клиент или все вызовы клиента?
___
Пробую в конфтесте (использую pytest)
fake_client = mocker.patch('src.discord.discord_bot.client')
Выдаёт ошибку, DiscordOAuth2Session object has no attribute 'discrord_bot'
(которая испльзуется для логина с дискордом и вообще не лежит в этом файле)
мокаешь вызовы этой либы
А как правильно мокать? В плане путей. А то в доке какие-то самые базовые вещи описаны, пытаюсь у себя повторит - куй
Покажи как мокаешь
fake_client = mocker.patch('src.discord.discord_bot.client')
путь ГДЕ идет вызов, то есть например есть у тебя некий файл api/service.py/ -> def discord() - тут описан наш мокаемый обьект, НО вызываешь его например в api/main.py -> discord() ТО вот мокать тебе надо по пути api.main.discord
Ну вроде я так и делаю)
запускай дебагер и смотри стал ли твой обьект как MagicMock()
Падает на моменте создания мока
{AttributeError}'DiscordOAuth2Session' object has no attribute 'discord_bot'
что то не так замокал, показывай как замокал и что замокал
Всё, кажись понял У меня в src.__init__.py лежить скрипт и там тоже есть объект discord, видимо он его пытается замокать
Да, всё, спасибо, разобрался)) Просто с неймингом чутка напутал
Обсуждают сегодня