Я пытаюсь выучить юнит-тестирование патчей.У меня есть один файл, который определяет функцию, а затем использует эту функцию.Когда я пытаюсь исправить эту функцию, ее возвращаемое значение дает мне реальное возвращаемое значение, а не исправлено возвращаемое значение.
Как мне исправить функцию, котораяопределяется и используется в одном файле?Примечание: я пытался следовать совету, данному здесь , но, похоже, он не решил мою проблему.
walk_dir.py
from os.path import dirname, join
from os import walk
from json import load
def get_config():
current_path =dirname(__file__)
with open(join(current_path, 'config', 'json', 'folder.json')) as json_file:
json_data = load(json_file)
return json_data['parent_dir']
def get_all_folders():
dir_to_walk = get_config()
for root, dir, _ in walk(dir_to_walk):
return [join(root, name) for name in dir]
test_walk_dir.py
from hello_world.walk_dir import get_all_folders
from unittest.mock import patch
@patch('walk_dir.get_config')
def test_get_all_folders(mock_get_config):
mock_get_config.return_value = 'C:\\temp\\test\\'
result = get_all_folders()
assert set(result) == set('C:\\temp\\test\\test_walk_dir')