Фиктивная функция для возврата другого значения на основе переданного аргумента - PullRequest
0 голосов
/ 07 июня 2018

В моей тестовой функции мои макеты не работают должным образом, потому что когда я mock моя get_config функция, я знаю только, как смоделировать ее, чтобы вернуть одно значение.Как я могу добавить некоторую логику в мой mock, чтобы макет возвращал другое значение только тогда, когда get_config передан аргумент "restricted"

def func():
    conf1 = get_config("conf1")
    conf2 = get_config("conf2")
    conf3 = get_config("conf3")
    restricted_datasets = get_config("restricted")
    dataset = get_config("dataset")
    if dataset not in restricted_datas:
        return run_code()

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете назначить функцию для side_effect, как описано в Официальный документ

from unittest.mock import Mock

def side_effect(value):
    return value

m = Mock(side_effect=side_effect)
m('restricted')
'restricted'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...