Python макет патча метод в экземпляре класса
У меня есть проект, назначающий 2 конфига в моем главном __init__
файл, так как они часто используются на протяжении всего проекта.
#__init__.py
from config import Config
config1 = Config('Email')
config2 = Config('Test')
Мой класс Config в config.py имеет метод с именем content
что мне нужно издеваться над случаями config1
а также config2
, Конфиг вызывает стороннюю библиотеку для выполнения http-запроса, поэтому мне нужно вернуть json
словарь для ответа на content
,
В функции валидаторов у меня есть следующее:
#validation.py
from parser import config1, config2
def validation(msg):
if "email" in config1.keys():
...
Я не пытаюсь издеваться над тестами, но продолжаю получать ошибки. Я пробовал разные mock patch
пути, но ни один не работает.
Моя последняя попытка заключается в следующем:
from mock import patch
from parser import validation
@patch('parser.Config')
def test_is_valid(mock_config):
mock_config.return_value.content = "Test"
assert validation.is_valid("email") == True
Что я делаю неправильно, что мои экземпляры Config (config1 и config2) неправильно возвращают значения.content? Спасибо