如何在方法内部模拟变量

问题描述 投票:0回答:1

我想在方法中模拟变量

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

我想在connect()方法中达到返回声明购买模拟变量。在这种情况下,如果我制作self__connected = True,那么它只会到达return语句。如何在方法内部模拟变量?

python methods mocking
1个回答
1
投票

您可以直接设置实例变量。由于您使用的是双下划线,因此可以访问该属性:

instance._a__connected = False

您还可以模拟方法直接返回该值:

with patch.object(a, 'connect', return_value=RET_SUCCESS) as mock_method:
    instance = a()
    instance.connect()
© www.soinside.com 2019 - 2024. All rights reserved.