我想在方法中模拟变量
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语句。如何在方法内部模拟变量?
您可以直接设置实例变量。由于您使用的是双下划线,因此可以访问该属性:
instance._a__connected = False
您还可以模拟方法直接返回该值:
with patch.object(a, 'connect', return_value=RET_SUCCESS) as mock_method:
instance = a()
instance.connect()