Как смоделировать переменную внутри метода - PullRequest
0 голосов
/ 08 апреля 2019

Я хочу смоделировать переменную внутри метода

class a(object):
    def __init__(self,ip,port,username,password):
        self.__ip=ip
        self.__port=port
        self.__username=username
        self.__password=password
        self.__connected=False

    def connect():
        if self.__connected:
           return RET_SUCCESS

Я хочу достигнуть оператора return buy mocking varible внутри connect() метода.В этом случае, если я сделаю self__connected = True, то только он достигнет оператора return.Как смоделировать переменные внутри метода?

1 Ответ

1 голос
/ 08 апреля 2019

Вы можете установить переменную экземпляра напрямую. Поскольку вы используете двойное подчеркивание, свойство будет доступно как:

instance._a__connected = False

Вы также можете смоделировать метод для непосредственного возврата этого значения:

with patch.object(a, 'connect', return_value=RET_SUCCESS) as mock_method:
    instance = a()
    instance.connect()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...