Как использовать патч для переменной в PyTestPython

Программы на Python
Гость
Как использовать патч для переменной в PyTest

Сообщение Гость »


У меня есть код Python ниже:

#datamanager.py импортировать ОС BASE_DIR = '' #SOME_VALUE data_list = '' #SOME_VALUE загруженные_данные = dict.fromkeys(список_данных) защита update_data(): для ключа current_model в loading_data.items(): mod_dir = os.path.join(BASE_DIR, ключ) если нет os.path.exists(mod_dir): print("Каталог модели отсутствует") продолжать model_files = os.listdir(mod_dir) если не model_files: print("Каталог модели пуст") продолжать Я пишу pytest, чтобы проверить, существует ли mod_dir. Мне придется посмеяться над этим, поскольку изначально mod_dir не будет. Для этого существует цикл for, который перебирает loaded_data. Я пытаюсь исправить эту переменную, но похоже, что это невозможно. Я пытаюсь сделать что-то вроде ниже:

def test_update_models(): ock_loaded_data = {'some_data': 'data_file'} с патчем('datamanager.loaded_data', new=mock_loaded_data): update_data() Но я продолжаю получать сообщение об ошибке атрибута: loaded_data не найден. Я думаю, что исправить значения переменных невозможно. Что мне попробовать дальше?

Вернуться в «Python»