我有一个父类,我扩展到一个子类,目标是重用一个已经创建的工作功能,但是似乎在使用父类方法时发生了错误
from sr import BaseClient
class Client(BaseClient):
def __init__(self, credentials=None):
....
def _request(self,path: str, params):
pass
class Address(Client):
def get_address(self, **kwargs):
return self._request('path', kwargs)
运行测试
import pytest
from .... import Addresses
def test_get_address():
res = Addresses.get_address({'query': 'some',.....other here})
错误指向从子类(Addresses)调用的父方法
FAILED tests/test_api.py::test_get_addresses - AttributeError: 'dict'对象没有属性'_request'
这是因为您试图将get_address
调用为静态方法,并且您给函数({'query': 'some',.....other here}
)的dict
作为self
参数传递。这就是为什么你会得到一个错误,dict
没有属性_request
,因为它没有。
也许你想先实例化类,像Address().get_address()
?