在我測驗我的 API 時,我最近開始收到以下錯誤。
if request is None:
> builder = EnvironBuilder(*args, **kwargs)
E TypeError: __init__() got an unexpected keyword argument 'as_tuple'
/usr/local/lib/python3.7/site-packages/werkzeug/test.py:1081: TypeError
正如我從檔案中讀到的,較新版本Werkzeug的as_tuple引數已被洗掉。
我的部分測驗代碼是
from flask.testing import FlaskClient
@pytest.fixture(name='test_client')
def _test_client() -> FlaskClient:
app = create_app()
return app.test_client()
class TestPeerscoutAPI:
def test_should_have_access_for_status_page(self, test_client: FlaskClient):
response = test_client.get('/api/status')
assert _get_ok_json(response) == {"status": "OK"}
任何幫助將不勝感激。
uj5u.com熱心網友回復:
從 2.1.0 版開始,已werkzeug洗掉. 由于 Flask 包裝了 werkzeug 并且您使用的版本仍然通過此引數,因此它將失敗。在此處查看GitHub PR 上的確切更改。as_tupleClient
您可以采取以下兩種方法之一來解決此問題:
升級燒瓶
固定您的 werkzeug 版本
# in requirements.txt
werkzeug==2.0.3
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/453592.html
