Closed wingfish closed 4 years ago
从单元测试代码中发现
def test_deserialize_instance(self): temp_dict = {'user': {'name': {'last_name': 'zhang', 'first_name': 'san'}, 'address': 'Beijing'}} new_obj = DeserializeInstance(temp_dict) assert hasattr(new_obj, 'user') assert hasattr(new_obj.user, 'name') assert new_obj.user.name.last_name == 'zhang' assert new_obj.user.address == 'Beijing'
user 对象没有预先申明
修改代码,在使用 user 属性前先进行申明 ` user: None
def __init__(self, obj_dict): self.user = None for key, value in obj_dict.items(): if isinstance(value, dict): setattr(self, key, DeserializeInstance(value) if isinstance(value, dict) else value) else: setattr(self, key, value)`
从单元测试代码中发现
def test_deserialize_instance(self): temp_dict = {'user': {'name': {'last_name': 'zhang', 'first_name': 'san'}, 'address': 'Beijing'}} new_obj = DeserializeInstance(temp_dict) assert hasattr(new_obj, 'user') assert hasattr(new_obj.user, 'name') assert new_obj.user.name.last_name == 'zhang' assert new_obj.user.address == 'Beijing'
user 对象没有预先申明
修改代码,在使用 user 属性前先进行申明 ` user: None